{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1.pandas是 Python 的核⼼数据分析⽀持库，提供了快速、灵活、明确的数据结构，旨在简单、直观地处理关系型、标记型数据\n",
    "\n",
    "2.pandas的主要数据结构是 Series(⼀维数据)与 DataFrame (⼆维数据)\n",
    "\n",
    "3.处理数据阶段：数据整理与清洗、数据分析与建模、数据可视化与制表"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数据结构"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "# pandas是numpy的升级\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([12, 13, 24, 25,  2,  4])"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "0    12\n",
       "1    13\n",
       "2    24\n",
       "3    25\n",
       "4     2\n",
       "5     4\n",
       "dtype: int32"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "9    12\n",
       "8    13\n",
       "7    24\n",
       "6    25\n",
       "5     2\n",
       "4     4\n",
       "dtype: int32"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "A    88\n",
       "B    23\n",
       "C     1\n",
       "D     3\n",
       "E    12\n",
       "dtype: int64"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "a1 = np.array([12,13,24,25,2,4]) # np数组，没有索引\n",
    "a2 = pd.Series(data = a1) # index索引不写默认为0开始\n",
    "a3 = pd.Series(data = a1,index = list('987654'))\n",
    "a4 = pd.Series(data = {'A':88,'B':23,'C':1,'D':3,'E':12})  # 字典里key作为索引\n",
    "display(a1,a2,a3,a4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ch</th>\n",
       "      <th>math</th>\n",
       "      <th>en</th>\n",
       "      <th>math</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>32.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>47.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>141.0</td>\n",
       "      <td>107.0</td>\n",
       "      <td>32.0</td>\n",
       "      <td>134.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>87.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>136.0</td>\n",
       "      <td>135.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>87.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>94.0</td>\n",
       "      <td>117.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>99.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>99.0</td>\n",
       "      <td>107.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      ch   math     en   math\n",
       "9   32.0   65.0   99.0   47.0\n",
       "8  141.0  107.0   32.0  134.0\n",
       "7   87.0   37.0  136.0  135.0\n",
       "6   87.0   12.0   94.0  117.0\n",
       "5   99.0   27.0   99.0  107.0"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# dataframe是多个series共用一个公共索引组成，有行索引，列索引(属性)\n",
    "a5 = pd.DataFrame(data = np.random.randint(0,151,size = (5,4)), # np数组\n",
    "                  index = list('98765'), # 行索引不写默认为0开始\n",
    "                  columns = ['ch','math','en','math'], # 列索引\n",
    "                  dtype = np.float16) # 类型可不指定\n",
    "a5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ch</th>\n",
       "      <th>math</th>\n",
       "      <th>en</th>\n",
       "      <th>Python</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>9</td>\n",
       "      <td>28</td>\n",
       "      <td>105</td>\n",
       "      <td>123</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>113</td>\n",
       "      <td>25</td>\n",
       "      <td>16</td>\n",
       "      <td>53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>62</td>\n",
       "      <td>136</td>\n",
       "      <td>67</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>17</td>\n",
       "      <td>20</td>\n",
       "      <td>32</td>\n",
       "      <td>110</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>87</td>\n",
       "      <td>94</td>\n",
       "      <td>48</td>\n",
       "      <td>63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>76</td>\n",
       "      <td>114</td>\n",
       "      <td>128</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>47</td>\n",
       "      <td>37</td>\n",
       "      <td>72</td>\n",
       "      <td>91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>118</td>\n",
       "      <td>35</td>\n",
       "      <td>7</td>\n",
       "      <td>95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>9</td>\n",
       "      <td>12</td>\n",
       "      <td>36</td>\n",
       "      <td>44</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>110</td>\n",
       "      <td>90</td>\n",
       "      <td>25</td>\n",
       "      <td>98</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>100 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     ch  math   en  Python\n",
       "0     9    28  105     123\n",
       "1   113    25   16      53\n",
       "2    62   136   67      83\n",
       "3    17    20   32     110\n",
       "4    87    94   48      63\n",
       "..  ...   ...  ...     ...\n",
       "95   76   114  128      68\n",
       "96   47    37   72      91\n",
       "97  118    35    7      95\n",
       "98    9    12   36      44\n",
       "99  110    90   25      98\n",
       "\n",
       "[100 rows x 4 columns]"
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a6 = pd.DataFrame(data = np.random.randint(0,151,size = (100,4)), # np数组\n",
    "                  columns = ['ch','math','en','Python']) # 列索引\n",
    "                  # dtype = np.float16)\n",
    "a6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 215,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>Py</th>\n",
       "      <th>ch</th>\n",
       "      <th>math</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">A</th>\n",
       "      <th>期中</th>\n",
       "      <td>5</td>\n",
       "      <td>57</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>55</td>\n",
       "      <td>2</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">B</th>\n",
       "      <th>期中</th>\n",
       "      <td>4</td>\n",
       "      <td>48</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>23</td>\n",
       "      <td>35</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">C</th>\n",
       "      <th>期中</th>\n",
       "      <td>48</td>\n",
       "      <td>96</td>\n",
       "      <td>99</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>39</td>\n",
       "      <td>0</td>\n",
       "      <td>91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">D</th>\n",
       "      <th>期中</th>\n",
       "      <td>94</td>\n",
       "      <td>38</td>\n",
       "      <td>60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>86</td>\n",
       "      <td>48</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">E</th>\n",
       "      <th>期中</th>\n",
       "      <td>58</td>\n",
       "      <td>20</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>40</td>\n",
       "      <td>21</td>\n",
       "      <td>87</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">F</th>\n",
       "      <th>期中</th>\n",
       "      <td>13</td>\n",
       "      <td>62</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>86</td>\n",
       "      <td>63</td>\n",
       "      <td>55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">H</th>\n",
       "      <th>期中</th>\n",
       "      <td>37</td>\n",
       "      <td>50</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>49</td>\n",
       "      <td>23</td>\n",
       "      <td>94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">I</th>\n",
       "      <th>期中</th>\n",
       "      <td>6</td>\n",
       "      <td>99</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>28</td>\n",
       "      <td>46</td>\n",
       "      <td>63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">J</th>\n",
       "      <th>期中</th>\n",
       "      <td>25</td>\n",
       "      <td>63</td>\n",
       "      <td>95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>98</td>\n",
       "      <td>32</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">K</th>\n",
       "      <th>期中</th>\n",
       "      <td>46</td>\n",
       "      <td>11</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>41</td>\n",
       "      <td>36</td>\n",
       "      <td>61</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Py  ch  math\n",
       "A 期中   5  57    11\n",
       "  期末  55   2    23\n",
       "B 期中   4  48    24\n",
       "  期末  23  35    84\n",
       "C 期中  48  96    99\n",
       "  期末  39   0    91\n",
       "D 期中  94  38    60\n",
       "  期末  86  48    16\n",
       "E 期中  58  20    10\n",
       "  期末  40  21    87\n",
       "F 期中  13  62    82\n",
       "  期末  86  63    55\n",
       "H 期中  37  50    49\n",
       "  期末  49  23    94\n",
       "I 期中   6  99    96\n",
       "  期末  28  46    63\n",
       "J 期中  25  63    95\n",
       "  期末  98  32     1\n",
       "K 期中  46  11    15\n",
       "  期末  41  36    61"
      ]
     },
     "execution_count": 215,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 多层索引\n",
    "a6 = pd.DataFrame(np.random.randint(0,100,size = (20,3)),\n",
    "                   columns=['Py','ch','math'],\n",
    "                   index = pd.MultiIndex.from_product(\n",
    "                       [list('ABCDEFHIJK'),['期中','期末']]))\n",
    "a6"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数据查看"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'n' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-34-974bcc0a23ed>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0ma6\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# 默认显示前n⾏，不写默认为5行\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      2\u001b[0m \u001b[0ma6\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtail\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# 显示末尾n⾏，不写默认为5行\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      3\u001b[0m \u001b[0ma6\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m \u001b[1;31m# 查看形状\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[0ma6\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdtypes\u001b[0m \u001b[1;31m# 查看数据类型\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m \u001b[0ma6\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m \u001b[1;31m# ⾏索引\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mNameError\u001b[0m: name 'n' is not defined"
     ]
    }
   ],
   "source": [
    "a6.head(n) # 默认显示前n⾏，不写默认为5行\n",
    "a6.tail(n) # 显示末尾n⾏，不写默认为5行\n",
    "a6.shape # 查看形状\n",
    "a6.dtypes # 查看数据类型\n",
    "a6.index # ⾏索引\n",
    "a6.columns # 列索引\n",
    "a6.values # 对象值，⼆维ndarray数组\n",
    "a6.describe() # 查看数值型列的汇总统计,计数、平均值、标准差、最⼩值、四分位数、最⼤值\n",
    "a6.info() # 查看列索引、数据类型、⾮空计数和内存信息"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数据输入输出"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>ch</td>\n",
       "      <td>math</td>\n",
       "      <td>en</td>\n",
       "      <td>math</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>28</td>\n",
       "      <td>42</td>\n",
       "      <td>19</td>\n",
       "      <td>122</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>144</td>\n",
       "      <td>44</td>\n",
       "      <td>108</td>\n",
       "      <td>48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2.0</td>\n",
       "      <td>119</td>\n",
       "      <td>17</td>\n",
       "      <td>98</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3.0</td>\n",
       "      <td>84</td>\n",
       "      <td>139</td>\n",
       "      <td>77</td>\n",
       "      <td>35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>95.0</td>\n",
       "      <td>7</td>\n",
       "      <td>110</td>\n",
       "      <td>31</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>96.0</td>\n",
       "      <td>32</td>\n",
       "      <td>62</td>\n",
       "      <td>108</td>\n",
       "      <td>132</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>97.0</td>\n",
       "      <td>17</td>\n",
       "      <td>15</td>\n",
       "      <td>105</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>98.0</td>\n",
       "      <td>56</td>\n",
       "      <td>87</td>\n",
       "      <td>49</td>\n",
       "      <td>42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>99.0</td>\n",
       "      <td>51</td>\n",
       "      <td>119</td>\n",
       "      <td>53</td>\n",
       "      <td>137</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>101 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        0    1     2    3     4\n",
       "0     NaN   ch  math   en  math\n",
       "1     0.0   28    42   19   122\n",
       "2     1.0  144    44  108    48\n",
       "3     2.0  119    17   98    11\n",
       "4     3.0   84   139   77    35\n",
       "..    ...  ...   ...  ...   ...\n",
       "96   95.0    7   110   31    24\n",
       "97   96.0   32    62  108   132\n",
       "98   97.0   17    15  105    68\n",
       "99   98.0   56    87   49    42\n",
       "100  99.0   51   119   53   137\n",
       "\n",
       "[101 rows x 5 columns]"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# csv 存储\n",
    "a6.to_csv('./a6_data.csv',\n",
    "          sep = ',',  # 分隔符\n",
    "         index = True, # 行索引，true为保存，false为不保存,默认为true，可不写\n",
    "         header = True ) # 列索引，true为保存，false为不保存,默认为true，可不写\n",
    "\n",
    "# csv 读取\n",
    "pd.read_csv('./a6_data.csv',index_col = 0) # 列索引不写会默认新生成从0开始的索引\n",
    "pd.read_csv('./a6_data.csv',header = None) # 当数据源没有表头时，读取时设为none\n",
    "                                            # 否则默认为第一行为表头\n",
    "pd.read_csv('./a6_data.csv',header = [0],index_col = 0) # 指定行、列索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'a6' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-2-530f664d4491>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;31m# excel 存储\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m a6.to_excel('./a6_data.xls',\n\u001b[0m\u001b[0;32m      3\u001b[0m             \u001b[0msheet_name\u001b[0m\u001b[1;33m=\u001b[0m \u001b[1;34m'1'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;31m# excel中工作表的名称，不写默认为sheet\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      4\u001b[0m             \u001b[0mindex\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m             header = True)\n",
      "\u001b[1;31mNameError\u001b[0m: name 'a6' is not defined"
     ]
    }
   ],
   "source": [
    "# excel 存储\n",
    "a6.to_excel('./a6_data.xls',\n",
    "            sheet_name= '1', # excel中工作表的名称，不写默认为sheet\n",
    "            index = True,\n",
    "            header = True)\n",
    "\n",
    "# excel 读取\n",
    "pd.read_excel('./a6_data.xls',\n",
    "              sheet_name= 0,\n",
    "              header = 0, # 默认使用第一行数据作为列索引，可不写\n",
    "              index_col = 0,\n",
    "              names = list['ADRFE']) # 替换行索引，可不写\n",
    "\n",
    "# ⼀个Excel⽂件中保存多个⼯作表\n",
    "with pd.ExcelWriter('./data.xlsx') as writer:\n",
    "    a6.to_excel(writer,sheet_name='salary',index = False)\n",
    "    a5.to_excel(writer,sheet_name='score',index = False)\n",
    "    \n",
    "# 读取Excel中指定名字的⼯作表\n",
    "pd.read_excel('./data.xlsx',\n",
    " sheet_name='salary') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ch</th>\n",
       "      <th>math</th>\n",
       "      <th>en</th>\n",
       "      <th>Python</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>109</td>\n",
       "      <td>70</td>\n",
       "      <td>96</td>\n",
       "      <td>89</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>96</td>\n",
       "      <td>111</td>\n",
       "      <td>17</td>\n",
       "      <td>106</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>33</td>\n",
       "      <td>54</td>\n",
       "      <td>12</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>33</td>\n",
       "      <td>41</td>\n",
       "      <td>92</td>\n",
       "      <td>126</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>47</td>\n",
       "      <td>124</td>\n",
       "      <td>8</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>30</td>\n",
       "      <td>50</td>\n",
       "      <td>101</td>\n",
       "      <td>128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>15</td>\n",
       "      <td>40</td>\n",
       "      <td>109</td>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>10</td>\n",
       "      <td>15</td>\n",
       "      <td>33</td>\n",
       "      <td>98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>2</td>\n",
       "      <td>39</td>\n",
       "      <td>51</td>\n",
       "      <td>113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>28</td>\n",
       "      <td>111</td>\n",
       "      <td>66</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>100 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     ch  math   en  Python\n",
       "0   109    70   96      89\n",
       "1    96   111   17     106\n",
       "2    33    54   12      23\n",
       "3    33    41   92     126\n",
       "4    47   124    8      96\n",
       "..  ...   ...  ...     ...\n",
       "95   30    50  101     128\n",
       "96   15    40  109     149\n",
       "97   10    15   33      98\n",
       "98    2    39   51     113\n",
       "99   28   111   66      23\n",
       "\n",
       "[100 rows x 4 columns]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# hdf 存储，存储时列的索引必须是唯一的，用key标识不同的数据集\n",
    "a6.to_hdf('./a6_data.h5',key = 's') # 不同的数据集存入同一个h5中时只要改变key\n",
    "\n",
    "# hdf 读取\n",
    "pd.read_hdf('./a6_data.h5',key = 's') # 取同一个h5中的不同数据集时只要改变key"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "from sqlalchemy import create_engine\n",
    "\n",
    "# 连接数据库\n",
    "con = create_engine('mysql+pymysql://root:123456@localhost/pandas?charset=UTF8MB4') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "# SQL 存储\n",
    "a6.to_sql('score',con,\n",
    "          if_exists = \"append\") # 如果表存在，则追加数据，默认不写"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>math</th>\n",
       "      <th>en</th>\n",
       "      <th>Python</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ch</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>125</th>\n",
       "      <td>0</td>\n",
       "      <td>48</td>\n",
       "      <td>24</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>1</td>\n",
       "      <td>57</td>\n",
       "      <td>0</td>\n",
       "      <td>53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>111</th>\n",
       "      <td>2</td>\n",
       "      <td>15</td>\n",
       "      <td>64</td>\n",
       "      <td>113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>104</td>\n",
       "      <td>79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>106</th>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>119</td>\n",
       "      <td>94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>95</td>\n",
       "      <td>95</td>\n",
       "      <td>93</td>\n",
       "      <td>35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>124</th>\n",
       "      <td>96</td>\n",
       "      <td>9</td>\n",
       "      <td>42</td>\n",
       "      <td>138</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>97</td>\n",
       "      <td>147</td>\n",
       "      <td>77</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>117</th>\n",
       "      <td>98</td>\n",
       "      <td>83</td>\n",
       "      <td>49</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>150</th>\n",
       "      <td>99</td>\n",
       "      <td>73</td>\n",
       "      <td>82</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>100 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     index  math   en  Python\n",
       "ch                           \n",
       "125      0    48   24      96\n",
       "92       1    57    0      53\n",
       "111      2    15   64     113\n",
       "2        3     2  104      79\n",
       "106      4     4  119      94\n",
       "..     ...   ...  ...     ...\n",
       "39      95    95   93      35\n",
       "124     96     9   42     138\n",
       "58      97   147   77      83\n",
       "117     98    83   49       6\n",
       "150     99    73   82      73\n",
       "\n",
       "[100 rows x 4 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# SQL 读取\n",
    "pd.read_sql('select * from score', # sql语句\n",
    "            con, # 连接数据库\n",
    "            index_col= 'ch') # 指定行索引名，可不写"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数据选取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ch</th>\n",
       "      <th>math</th>\n",
       "      <th>en</th>\n",
       "      <th>Python</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>136</td>\n",
       "      <td>18</td>\n",
       "      <td>0</td>\n",
       "      <td>78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>30</td>\n",
       "      <td>55</td>\n",
       "      <td>53</td>\n",
       "      <td>126</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>97</td>\n",
       "      <td>130</td>\n",
       "      <td>83</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1</td>\n",
       "      <td>18</td>\n",
       "      <td>28</td>\n",
       "      <td>114</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>105</td>\n",
       "      <td>85</td>\n",
       "      <td>114</td>\n",
       "      <td>91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>121</td>\n",
       "      <td>38</td>\n",
       "      <td>38</td>\n",
       "      <td>136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>64</td>\n",
       "      <td>145</td>\n",
       "      <td>111</td>\n",
       "      <td>95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>110</td>\n",
       "      <td>58</td>\n",
       "      <td>30</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>138</td>\n",
       "      <td>42</td>\n",
       "      <td>42</td>\n",
       "      <td>66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>36</td>\n",
       "      <td>1</td>\n",
       "      <td>120</td>\n",
       "      <td>34</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>95 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     ch  math   en  Python\n",
       "5   136    18    0      78\n",
       "6    30    55   53     126\n",
       "7    97   130   83      37\n",
       "8     1    18   28     114\n",
       "9   105    85  114      91\n",
       "..  ...   ...  ...     ...\n",
       "95  121    38   38     136\n",
       "96   64   145  111      95\n",
       "97  110    58   30      37\n",
       "98  138    42   42      66\n",
       "99   36     1  120      34\n",
       "\n",
       "[95 rows x 4 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 数据属性--列\n",
    "a6['ch'] # np单列数据\n",
    "a6.ch # 对象单列数据\n",
    "a6[['ch','math']] # 多列数据\n",
    "a6[5:] # 切片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>math</th>\n",
       "      <th>en</th>\n",
       "      <th>Python</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>56</td>\n",
       "      <td>107</td>\n",
       "      <td>89</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>64</td>\n",
       "      <td>95</td>\n",
       "      <td>130</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>84</th>\n",
       "      <td>121</td>\n",
       "      <td>133</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>85</th>\n",
       "      <td>54</td>\n",
       "      <td>78</td>\n",
       "      <td>141</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>86</th>\n",
       "      <td>2</td>\n",
       "      <td>29</td>\n",
       "      <td>100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>87</th>\n",
       "      <td>122</td>\n",
       "      <td>81</td>\n",
       "      <td>118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>88</th>\n",
       "      <td>87</td>\n",
       "      <td>144</td>\n",
       "      <td>111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>89</th>\n",
       "      <td>139</td>\n",
       "      <td>52</td>\n",
       "      <td>45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>90</th>\n",
       "      <td>32</td>\n",
       "      <td>31</td>\n",
       "      <td>89</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>91</th>\n",
       "      <td>58</td>\n",
       "      <td>123</td>\n",
       "      <td>128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>38</td>\n",
       "      <td>53</td>\n",
       "      <td>77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>93</th>\n",
       "      <td>45</td>\n",
       "      <td>16</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94</th>\n",
       "      <td>55</td>\n",
       "      <td>46</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>13</td>\n",
       "      <td>97</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>11</td>\n",
       "      <td>26</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>13</td>\n",
       "      <td>111</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>143</td>\n",
       "      <td>95</td>\n",
       "      <td>91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>135</td>\n",
       "      <td>7</td>\n",
       "      <td>109</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    math   en  Python\n",
       "82    56  107      89\n",
       "83    64   95     130\n",
       "84   121  133      83\n",
       "85    54   78     141\n",
       "86     2   29     100\n",
       "87   122   81     118\n",
       "88    87  144     111\n",
       "89   139   52      45\n",
       "90    32   31      89\n",
       "91    58  123     128\n",
       "92    38   53      77\n",
       "93    45   16       6\n",
       "94    55   46      10\n",
       "95    13   97       5\n",
       "96    11   26      17\n",
       "97    13  111       2\n",
       "98   143   95      91\n",
       "99   135    7     109"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 数据标签--行\n",
    "a6.loc[[9,25,34]] # 指定多行\n",
    "a6.loc[[5,35,45,55,65],['ch','math']] #指定多行、列\n",
    "a6.loc[8,['ch','math']] #指定单行、多列\n",
    "a6.loc[34:67:2,['ch','math']] # 切片\n",
    "a6.loc[82:,'math':] # 切片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>math</th>\n",
       "      <th>Python</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>118</td>\n",
       "      <td>143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>27</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>136</td>\n",
       "      <td>70</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    math  Python\n",
       "4    118     143\n",
       "13    27      59\n",
       "24   136      70"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 数据位置--索引\n",
    "a6.iloc[9] # 指定一行\n",
    "a6.iloc[[9,25,34]] # 指定多行\n",
    "a6.iloc[[4,13,24],[1,3]] # 指定行、列\n",
    "a6.iloc[5:,1:] # 切片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ch</th>\n",
       "      <th>math</th>\n",
       "      <th>en</th>\n",
       "      <th>Python</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>142</td>\n",
       "      <td>118</td>\n",
       "      <td>107</td>\n",
       "      <td>143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>119</td>\n",
       "      <td>9</td>\n",
       "      <td>2</td>\n",
       "      <td>120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>66</td>\n",
       "      <td>149</td>\n",
       "      <td>123</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66</th>\n",
       "      <td>25</td>\n",
       "      <td>119</td>\n",
       "      <td>144</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     ch  math   en  Python\n",
       "4   142   118  107     143\n",
       "23  119     9    2     120\n",
       "45   66   149  123      33\n",
       "66   25   119  144       6"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 布尔索引\n",
    "a6[a6 > 65] # 筛选出数据中大于65的数据\n",
    "a6.math >=65 # 筛选出math列中大于65的数据\n",
    "cond1 = a6.mean(axis = 1) > 65 # 筛选出每行平均值大于65的数据\n",
    "cond2 = (a6.math >= 65) & (a6.en >=90) # 筛选出指定列\n",
    "a6[a6.index.isin([4,23,45,66])] # 判断数据是否在指定的行索引中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "# 赋值\n",
    "a6['pr'] = np.random.randint(0,151,size = 100) # 新增一列\n",
    "a6\n",
    "a6['ch'][35] = 99 # 修改第35行ch的值\n",
    "a6.loc[35,'ch']\n",
    "a6.loc[[35,44,68],['ch','math']] = (140,144) # 修改多行多列的值\n",
    "a6.loc[[35,44,68]]\n",
    "a6.loc[45:55,'math'] = np.array([118]*11) # np数组修改值\n",
    "a6.loc[45:55,'math']\n",
    "a6.iloc[3:56:3,[0,2]] +=20 # 切片修改值\n",
    "a6[a6 < 50] = 61 # where条件，讲小于50的值改为61"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数据集成"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "b1 = pd.DataFrame(data = np.random.randint(0,150,size = [10,3]),\n",
    "                   index = list('ABCDEFGHIJ'),\n",
    "                   columns=['Python','Tensorflow','Keras']) \n",
    "b2 = pd.DataFrame(data = np.random.randint(0,150,size = [10,3]),\n",
    "                   index = list('KLMNOPQRST'),\n",
    "                   columns=['Python','Tensorflow','Keras'])\n",
    "b3 = pd.DataFrame(data = np.random.randint(0,150,size = (8,2)),\n",
    "                   index = list('KLMNOPQR'),\n",
    "                   columns=['PyTorch','Paddle'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "# concat 串联，串联时行或列要一致，否则不一致的数据为空\n",
    "pd.concat([b1,b2]) # 默认为行串联，列不变，axis默认为0\n",
    "pd.concat([b1,b3],axis = 1) # 列增加\n",
    "b1.append(b2) # 在b1行后追加b2的行，无法指定行的插入位置"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "# 插入\n",
    "b1.insert(loc = 1, # 插入的位置索引,不写默认为最后\n",
    "          column='c++', # 插入的列\n",
    "          value=10)  # 插入的列的值\n",
    "b1.insert(loc = 1,\n",
    "          column='c+', \n",
    "          value=np.random.randint(1,151,size = 10))  \n",
    "b1['pr'] = np.random.randint(0,151,size = 10) # 新增一列，等号后可加任意方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "# sql合并，根据共同属性合并\n",
    "b4 = pd.DataFrame(data = {'name':['softpo','Daniel','Brandon','Ella'],\n",
    "                           'weight':[70,55,75,65]})\n",
    "\n",
    "b5 = pd.DataFrame(data = {'name':['softpo','Daniel','Brandon','Cindy'],\n",
    "                           'height':[172,170,170,166]})\n",
    "                  \n",
    "b6 = pd.DataFrame(data = {'名字':['softpo','Daniel','Brandon','Cindy'],\n",
    "                           'salary':np.random.randint(0,151,size = 4)})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>weight</th>\n",
       "      <th>height</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>softpo</td>\n",
       "      <td>70.0</td>\n",
       "      <td>172.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Daniel</td>\n",
       "      <td>55.0</td>\n",
       "      <td>170.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Brandon</td>\n",
       "      <td>75.0</td>\n",
       "      <td>170.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Ella</td>\n",
       "      <td>65.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Cindy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>166.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      name  weight  height\n",
       "0   softpo    70.0   172.0\n",
       "1   Daniel    55.0   170.0\n",
       "2  Brandon    75.0   170.0\n",
       "3     Ella    65.0     NaN\n",
       "4    Cindy     NaN   166.0"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.merge(b4,b5,how = 'outer') # 默认为inner(还有left，ringt)，按照共同name合并\n",
    "\n",
    "# 字段名不同时指定字段合并\n",
    "pd.merge(b4,b6,how = 'outer',left_on='name',right_on='名字') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ch</th>\n",
       "      <th>math</th>\n",
       "      <th>en</th>\n",
       "      <th>Python</th>\n",
       "      <th>avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>9</td>\n",
       "      <td>28</td>\n",
       "      <td>105</td>\n",
       "      <td>123</td>\n",
       "      <td>66.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>113</td>\n",
       "      <td>25</td>\n",
       "      <td>16</td>\n",
       "      <td>53</td>\n",
       "      <td>51.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>62</td>\n",
       "      <td>136</td>\n",
       "      <td>67</td>\n",
       "      <td>83</td>\n",
       "      <td>87.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>17</td>\n",
       "      <td>20</td>\n",
       "      <td>32</td>\n",
       "      <td>110</td>\n",
       "      <td>44.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>87</td>\n",
       "      <td>94</td>\n",
       "      <td>48</td>\n",
       "      <td>63</td>\n",
       "      <td>73.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>76</td>\n",
       "      <td>114</td>\n",
       "      <td>128</td>\n",
       "      <td>68</td>\n",
       "      <td>96.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>47</td>\n",
       "      <td>37</td>\n",
       "      <td>72</td>\n",
       "      <td>91</td>\n",
       "      <td>61.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>118</td>\n",
       "      <td>35</td>\n",
       "      <td>7</td>\n",
       "      <td>95</td>\n",
       "      <td>63.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>9</td>\n",
       "      <td>12</td>\n",
       "      <td>36</td>\n",
       "      <td>44</td>\n",
       "      <td>25.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>110</td>\n",
       "      <td>90</td>\n",
       "      <td>25</td>\n",
       "      <td>98</td>\n",
       "      <td>80.8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>100 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     ch  math   en  Python   avg\n",
       "0     9    28  105     123  66.2\n",
       "1   113    25   16      53  51.8\n",
       "2    62   136   67      83  87.0\n",
       "3    17    20   32     110  44.8\n",
       "4    87    94   48      63  73.0\n",
       "..  ...   ...  ...     ...   ...\n",
       "95   76   114  128      68  96.5\n",
       "96   47    37   72      91  61.8\n",
       "97  118    35    7      95  63.8\n",
       "98    9    12   36      44  25.2\n",
       "99  110    90   25      98  80.8\n",
       "\n",
       "[100 rows x 5 columns]"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b7 = pd.DataFrame(a6.mean(axis = 1).round(1),columns = ['avg'])\n",
    "b7\n",
    "pd.merge(a6,b7,\n",
    "         left_index=True, # 以b6为主使用行索引合并\n",
    "         right_index=True) # b7的数据以行索引对应\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数据清洗"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>color</th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>red</td>\n",
       "      <td>10.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>blue</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>red</td>\n",
       "      <td>10.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>green</td>\n",
       "      <td>15.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>blue</td>\n",
       "      <td>20.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>None</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>red</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   color  price\n",
       "0    red   10.0\n",
       "1   blue   20.0\n",
       "2    red   10.0\n",
       "3  green   15.0\n",
       "4   blue   20.0\n",
       "5   None    0.0\n",
       "6    red    NaN"
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c1 = pd.DataFrame(data = {'color':['red','blue','red','green','blue',None,'red'],\n",
    "                         'price':[10,20,10,15,20,0,np.NaN]})\n",
    "c1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "# 去重\n",
    "c1.duplicated()\n",
    "c1.drop_duplicates() # 删除重复数据,设置inplace=ture则替换原始数据\n",
    "\n",
    "# 过滤空数据\n",
    "c1.isnull()\n",
    "c1.dropna(how = 'any') # 删除空数据\n",
    "\n",
    "# 填充空数据\n",
    "c1.fillna(value=1111) \n",
    "\n",
    "# 过滤异常值，3σ过滤异常值，σ即是标准差\n",
    "c2 = pd.DataFrame(data = np.random.randn(10000,3)) # 正态分布数据\n",
    "cond = (c2 > 3*c2.std()).any(axis = 1) # 过滤条件\n",
    "index = c2[cond].index # 不满足的行\n",
    "c2.drop(labels=index,axis = 0) # 删除不满足的行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "# 删除\n",
    "del c['color'] # 删除指定列\n",
    "c1.drop(labels=[2,5]) # 删除指定行\n",
    "c1.drop(labels=['color'],axis = 1) # 删除指定列时要配置axis，默认为0可不写\n",
    "c1.drop_duplicates() # 删除重复数据\n",
    "c1.dropna(how = 'any') # 删除空数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>China</th>\n",
       "      <th>America</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>dog</th>\n",
       "      <td>3</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cat</th>\n",
       "      <td>2</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     China  America\n",
       "dog      3        7\n",
       "cat      2        8"
      ]
     },
     "execution_count": 172,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c3 = pd.DataFrame(np.array(([3,7,1], [2, 8, 256])),index=['dog', 'cat'],\n",
    "                  columns=['China', 'America', 'France'])\n",
    "# filter 函数\n",
    "c3.filter(items = ['China'])\n",
    "c3.filter(regex='n') #  正则表达式筛选标签\n",
    "c3.filter(regex='e$',axis=1) #  正则表达式筛选标签\n",
    "c3.filter(regex='t$',axis=0) #  正则表达式筛选标签\n",
    "c3.filter(like='i',axis=1) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "c3.reset_index(inplace=True) # 重设定行索引,仅series可用"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数据变换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 177,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AI</th>\n",
       "      <th>Tensorflow</th>\n",
       "      <th>Keras</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Aa</th>\n",
       "      <td>86</td>\n",
       "      <td>109</td>\n",
       "      <td>90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B</th>\n",
       "      <td>28</td>\n",
       "      <td>24</td>\n",
       "      <td>133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C</th>\n",
       "      <td>65</td>\n",
       "      <td>49</td>\n",
       "      <td>135</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D</th>\n",
       "      <td>126</td>\n",
       "      <td>45</td>\n",
       "      <td>95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ee</th>\n",
       "      <td>24</td>\n",
       "      <td>110</td>\n",
       "      <td>36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F</th>\n",
       "      <td>29</td>\n",
       "      <td>25</td>\n",
       "      <td>94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>G</th>\n",
       "      <td>95</td>\n",
       "      <td>73</td>\n",
       "      <td>61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H</th>\n",
       "      <td>37</td>\n",
       "      <td>42</td>\n",
       "      <td>55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>I</th>\n",
       "      <td>126</td>\n",
       "      <td>44</td>\n",
       "      <td>116</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>J</th>\n",
       "      <td>24</td>\n",
       "      <td>11</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     AI  Tensorflow  Keras\n",
       "Aa   86         109     90\n",
       "B    28          24    133\n",
       "C    65          49    135\n",
       "D   126          45     95\n",
       "Ee   24         110     36\n",
       "F    29          25     94\n",
       "G    95          73     61\n",
       "H    37          42     55\n",
       "I   126          44    116\n",
       "J    24          11      7"
      ]
     },
     "execution_count": 177,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 索引变换\n",
    "b1.rename(index={'A':'Aa','E':'Ee'}, \n",
    "          columns={'Python':'AI'})\n",
    "          #inplace= True) # 默认为false不写，true为替换原始数据\n",
    "\n",
    "# 数据变换\n",
    "b1.replace([28,7],[123,345]) # 把28替换成123，7替换成345\n",
    "b1.replace({28:123},{7:345}) # 把28替换成123，7替换成345\n",
    "b1.replace({0:512,np.nan:998}) # 把0替换成512，NaN替换成998\n",
    "b1.replace([24,90],np.NaN) # 把24、90替换成NaN,等同于b1.loc[24.90]=np.NaN\n",
    "b1.replace({'Python':126},520) # 把指定列的指定值替换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'Series' object has no attribute 'applymap'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-173-58c54fd8b372>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m     12\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     13\u001b[0m \u001b[1;31m# applymap和map类似但只对dataframe作用\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 14\u001b[1;33m \u001b[0mc3\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'France'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapplymap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m:\u001b[0m\u001b[0mint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32mc:\\users\\fzn\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m   5460\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   5461\u001b[0m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 5462\u001b[1;33m             \u001b[1;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   5463\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   5464\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mAttributeError\u001b[0m: 'Series' object has no attribute 'applymap'"
     ]
    }
   ],
   "source": [
    "# map 只对一列series作用，没有对应的数据则为空\n",
    "b1['Python'].map({29:209,42:0}) # 用字典映射替换\n",
    "b1['Python'].map(lambda x:108 if x < 50 else x) # 隐式函数映射，x为series的值\n",
    "\n",
    "def convert(x):  # 显示函数映射\n",
    "    if x < 100:\n",
    "        return 100\n",
    "    else:\n",
    "        return x\n",
    "b1['leve'] = b1['Python'].map(convert)\n",
    "b1\n",
    "\n",
    "# applymap和map类似但只对dataframe作用\n",
    "c3['France'].applymap(lambda x:int(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Python</th>\n",
       "      <th>Tensorflow</th>\n",
       "      <th>Keras</th>\n",
       "      <th>leve</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>86.0</td>\n",
       "      <td>96.0</td>\n",
       "      <td>88.1</td>\n",
       "      <td>110.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>10.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Python  Tensorflow  Keras   leve\n",
       "0    86.0        96.0   88.1  110.7\n",
       "1    10.0        10.0   10.0   10.0"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# apply,x为dataframe的行或列\n",
    "b1['Python'].apply(lambda x:108 if x < 50 else x) # 指定列\n",
    "b1.apply(lambda x:x.mean(),axis=0) # 列的平均值，axis=1为行的平均值\n",
    "b1.apply(lambda x:x + 1024) # 每个值都+1024\n",
    "\n",
    "def convert(x):\n",
    "    if x < 100:\n",
    "        return 100\n",
    "    else:\n",
    "        return x\n",
    "b1['Python'].apply(convert)\n",
    "\n",
    "def convert(x):\n",
    "    return (x.mean().round(2),x.count())\n",
    "b1.apply(convert,axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "A     460\n",
       "B     250\n",
       "C     310\n",
       "D    1220\n",
       "E     700\n",
       "F    1440\n",
       "G    1330\n",
       "H     970\n",
       "I     950\n",
       "J     170\n",
       "Name: Python, dtype: int64"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# transform，输出结果必须是 和元数据集行数相等，缺少的会自动补全\n",
    "b1['Python'].transform([np.sqrt,np.exp]) # 对指定列进行计算，和apply一致\n",
    "b1.transform([np.sqrt,np.exp]) # 对所有列进行相同计算\n",
    "b1['Python'].transform(lambda x:108 if x < 50 else x) # 和apply\\map一致"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": [
    "def convert(x):\n",
    "    if x.mean() > 5:\n",
    "        x *= 10\n",
    "    else:\n",
    "        x *= -10\n",
    "    return x\n",
    "\n",
    "# 对不同列进行不同计算,min\\max也可执行，报错是因为环境问题\n",
    "b1.transform({'Python':convert,'Tensorflow':np.sqrt,'Keras':np.exp})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 207,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "ename": "IndexError",
     "evalue": "indices are out-of-bounds",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mIndexError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-207-130083af400b>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;31m# 随机抽样\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mc1\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtake\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mc3\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      3\u001b[0m \u001b[0mc1\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtake\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrandint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m50\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m100\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0msize\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m20\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\fzn\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36mtake\u001b[1;34m(self, indices, axis, is_copy, **kwargs)\u001b[0m\n\u001b[0;32m   3584\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   3585\u001b[0m         new_data = self._mgr.take(\n\u001b[1;32m-> 3586\u001b[1;33m             \u001b[0mindices\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_block_manager_axis\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mverify\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   3587\u001b[0m         )\n\u001b[0;32m   3588\u001b[0m         \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_constructor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnew_data\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__finalize__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"take\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\fzn\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\pandas\\core\\internals\\managers.py\u001b[0m in \u001b[0;36mtake\u001b[1;34m(self, indexer, axis, verify, convert)\u001b[0m\n\u001b[0;32m   1465\u001b[0m         \u001b[0mn\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1466\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mconvert\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1467\u001b[1;33m             \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmaybe_convert_indices\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mn\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1468\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1469\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mverify\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\fzn\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\pandas\\core\\indexers.py\u001b[0m in \u001b[0;36mmaybe_convert_indices\u001b[1;34m(indices, n)\u001b[0m\n\u001b[0;32m    263\u001b[0m     \u001b[0mmask\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mindices\u001b[0m \u001b[1;33m>=\u001b[0m \u001b[0mn\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m|\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mindices\u001b[0m \u001b[1;33m<\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    264\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mmask\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0many\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 265\u001b[1;33m         \u001b[1;32mraise\u001b[0m \u001b[0mIndexError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"indices are out-of-bounds\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    266\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0mindices\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    267\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mIndexError\u001b[0m: indices are out-of-bounds"
     ]
    }
   ],
   "source": [
    "# 重排，索引打乱\n",
    "c1.take(c3) \n",
    "\n",
    "# 随机抽样\n",
    "c1.take(np.random.randint(50,100,size=20)) # 随机抽样20个"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 205,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "      <th>color_blue</th>\n",
       "      <th>color_green</th>\n",
       "      <th>color_red</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>15.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   price  color_blue  color_green  color_red\n",
       "0   10.0           0            0          1\n",
       "1   20.0           1            0          0\n",
       "2   10.0           0            0          1\n",
       "3   15.0           0            1          0\n",
       "4   20.0           1            0          0\n",
       "5    0.0           0            0          0\n",
       "6    NaN           0            0          1"
      ]
     },
     "execution_count": 205,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 哑变量，把列中的str参数取出变成列索引，对应行的值有标记为1，反之标记为0\n",
    "pd.get_dummies(c1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数据重塑"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 223,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>Py</th>\n",
       "      <th>ch</th>\n",
       "      <th>math</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">A</th>\n",
       "      <th>期中</th>\n",
       "      <td>34</td>\n",
       "      <td>30</td>\n",
       "      <td>51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>77</td>\n",
       "      <td>34</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">B</th>\n",
       "      <th>期中</th>\n",
       "      <td>92</td>\n",
       "      <td>68</td>\n",
       "      <td>39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>18</td>\n",
       "      <td>86</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">C</th>\n",
       "      <th>期中</th>\n",
       "      <td>63</td>\n",
       "      <td>3</td>\n",
       "      <td>32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>31</td>\n",
       "      <td>64</td>\n",
       "      <td>86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">D</th>\n",
       "      <th>期中</th>\n",
       "      <td>79</td>\n",
       "      <td>48</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>34</td>\n",
       "      <td>43</td>\n",
       "      <td>66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">E</th>\n",
       "      <th>期中</th>\n",
       "      <td>65</td>\n",
       "      <td>41</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>49</td>\n",
       "      <td>47</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">F</th>\n",
       "      <th>期中</th>\n",
       "      <td>23</td>\n",
       "      <td>86</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>17</td>\n",
       "      <td>94</td>\n",
       "      <td>79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">H</th>\n",
       "      <th>期中</th>\n",
       "      <td>61</td>\n",
       "      <td>85</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>65</td>\n",
       "      <td>58</td>\n",
       "      <td>46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">I</th>\n",
       "      <th>期中</th>\n",
       "      <td>63</td>\n",
       "      <td>25</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>26</td>\n",
       "      <td>61</td>\n",
       "      <td>79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">J</th>\n",
       "      <th>期中</th>\n",
       "      <td>69</td>\n",
       "      <td>38</td>\n",
       "      <td>80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">K</th>\n",
       "      <th>期中</th>\n",
       "      <td>86</td>\n",
       "      <td>39</td>\n",
       "      <td>92</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>29</td>\n",
       "      <td>71</td>\n",
       "      <td>90</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Py  ch  math\n",
       "A 期中  34  30    51\n",
       "  期末  77  34    16\n",
       "B 期中  92  68    39\n",
       "  期末  18  86    13\n",
       "C 期中  63   3    32\n",
       "  期末  31  64    86\n",
       "D 期中  79  48    82\n",
       "  期末  34  43    66\n",
       "E 期中  65  41    84\n",
       "  期末  49  47    25\n",
       "F 期中  23  86     3\n",
       "  期末  17  94    79\n",
       "H 期中  61  85    11\n",
       "  期末  65  58    46\n",
       "I 期中  63  25    73\n",
       "  期末  26  61    79\n",
       "J 期中  69  38    80\n",
       "  期末   4  17    47\n",
       "K 期中  86  39    92\n",
       "  期末  29  71    90"
      ]
     },
     "execution_count": 223,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d1 = pd.DataFrame(np.random.randint(0,100,size = (20,3)),\n",
    "                   columns=['Py','ch','math'],\n",
    "                   index = pd.MultiIndex.from_product(\n",
    "                       [list('ABCDEFHIJK'),['期中','期末']]))\n",
    "d1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 217,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">A</th>\n",
       "      <th colspan=\"2\" halign=\"left\">B</th>\n",
       "      <th colspan=\"2\" halign=\"left\">C</th>\n",
       "      <th colspan=\"2\" halign=\"left\">D</th>\n",
       "      <th colspan=\"2\" halign=\"left\">E</th>\n",
       "      <th colspan=\"2\" halign=\"left\">F</th>\n",
       "      <th colspan=\"2\" halign=\"left\">H</th>\n",
       "      <th colspan=\"2\" halign=\"left\">I</th>\n",
       "      <th colspan=\"2\" halign=\"left\">J</th>\n",
       "      <th colspan=\"2\" halign=\"left\">K</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "      <th>期中</th>\n",
       "      <th>期末</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Py</th>\n",
       "      <td>8</td>\n",
       "      <td>70</td>\n",
       "      <td>18</td>\n",
       "      <td>85</td>\n",
       "      <td>82</td>\n",
       "      <td>94</td>\n",
       "      <td>31</td>\n",
       "      <td>87</td>\n",
       "      <td>2</td>\n",
       "      <td>23</td>\n",
       "      <td>36</td>\n",
       "      <td>62</td>\n",
       "      <td>75</td>\n",
       "      <td>76</td>\n",
       "      <td>53</td>\n",
       "      <td>1</td>\n",
       "      <td>67</td>\n",
       "      <td>70</td>\n",
       "      <td>42</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ch</th>\n",
       "      <td>32</td>\n",
       "      <td>68</td>\n",
       "      <td>91</td>\n",
       "      <td>86</td>\n",
       "      <td>66</td>\n",
       "      <td>34</td>\n",
       "      <td>18</td>\n",
       "      <td>59</td>\n",
       "      <td>86</td>\n",
       "      <td>74</td>\n",
       "      <td>88</td>\n",
       "      <td>48</td>\n",
       "      <td>5</td>\n",
       "      <td>22</td>\n",
       "      <td>69</td>\n",
       "      <td>31</td>\n",
       "      <td>95</td>\n",
       "      <td>51</td>\n",
       "      <td>15</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>math</th>\n",
       "      <td>90</td>\n",
       "      <td>21</td>\n",
       "      <td>99</td>\n",
       "      <td>52</td>\n",
       "      <td>82</td>\n",
       "      <td>82</td>\n",
       "      <td>62</td>\n",
       "      <td>35</td>\n",
       "      <td>91</td>\n",
       "      <td>94</td>\n",
       "      <td>47</td>\n",
       "      <td>28</td>\n",
       "      <td>34</td>\n",
       "      <td>22</td>\n",
       "      <td>71</td>\n",
       "      <td>40</td>\n",
       "      <td>28</td>\n",
       "      <td>61</td>\n",
       "      <td>82</td>\n",
       "      <td>99</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       A       B       C       D       E       F       H       I       J      \\\n",
       "      期中  期末  期中  期末  期中  期末  期中  期末  期中  期末  期中  期末  期中  期末  期中  期末  期中  期末   \n",
       "Py     8  70  18  85  82  94  31  87   2  23  36  62  75  76  53   1  67  70   \n",
       "ch    32  68  91  86  66  34  18  59  86  74  88  48   5  22  69  31  95  51   \n",
       "math  90  21  99  52  82  82  62  35  91  94  47  28  34  22  71  40  28  61   \n",
       "\n",
       "       K      \n",
       "      期中  期末  \n",
       "Py    42  11  \n",
       "ch    15  40  \n",
       "math  82  99  "
      ]
     },
     "execution_count": 217,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d1.T # 转置，行变列，列变行\n",
    "d1.unstack(level=1) # 将行的二级索引变成列的二级索引\n",
    "d1.stack() # 默认为列索引变成行索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 228,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Py</th>\n",
       "      <th>ch</th>\n",
       "      <th>math</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>期中</th>\n",
       "      <td>63.5</td>\n",
       "      <td>46.3</td>\n",
       "      <td>54.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期末</th>\n",
       "      <td>35.0</td>\n",
       "      <td>57.5</td>\n",
       "      <td>54.7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Py    ch  math\n",
       "期中  63.5  46.3  54.7\n",
       "期末  35.0  57.5  54.7"
      ]
     },
     "execution_count": 228,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 多层索引计算\n",
    "d1.mean() # 各列的平均值\n",
    "d1.mean(level=0) # 各一级行索引的期中期末平均值\n",
    "d1.mean(level = 1) # 期中期末各列的平均值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数学和统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Python</th>\n",
       "      <th>Tensorflow</th>\n",
       "      <th>Keras</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "      <td>10.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>71.30</td>\n",
       "      <td>66.60</td>\n",
       "      <td>72.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>53.71</td>\n",
       "      <td>40.65</td>\n",
       "      <td>42.64</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>2.00</td>\n",
       "      <td>6.00</td>\n",
       "      <td>21.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>29.25</td>\n",
       "      <td>35.75</td>\n",
       "      <td>50.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>60.50</td>\n",
       "      <td>66.50</td>\n",
       "      <td>61.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>125.75</td>\n",
       "      <td>85.25</td>\n",
       "      <td>78.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>140.00</td>\n",
       "      <td>140.00</td>\n",
       "      <td>146.00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Python  Tensorflow   Keras\n",
       "count   10.00       10.00   10.00\n",
       "mean    71.30       66.60   72.00\n",
       "std     53.71       40.65   42.64\n",
       "min      2.00        6.00   21.00\n",
       "25%     29.25       35.75   50.25\n",
       "50%     60.50       66.50   61.50\n",
       "75%    125.75       85.25   78.25\n",
       "max    140.00      140.00  146.00"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 基本统计指标\n",
    "b1.min() # 取最小值\n",
    "b1.min(axis = 1) # 在列的方向上取最小值\n",
    "b1.max(axis = 0) # 在行的方向上取最大值\n",
    "b1.mean() # 平均值\n",
    "np.median(b1) # 中位数\n",
    "b1.sum() # 求和\n",
    "\n",
    "b1['Python'].unique() # 指定列去重\n",
    "b1['Python'].value_counts() # 指定列的值出现频次\n",
    "b1.value_counts() # 每行值出现的频次\n",
    "b1.quantile(q=[0,0.25,0.5,0.75,1]) # 0为最小值，1为最大值，0.25为四分之一位\n",
    "b1.describe().round(2) #查看列的,计数、平均值、标准差、最⼩值、四分位数、最⼤值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Python        J\n",
       "Tensorflow    E\n",
       "Keras         E\n",
       "dtype: object"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 索引标签位置\n",
    "b1['Python'].argmin() # 指定列取最小值索引\n",
    "b1['Python'].argmax() # 指定列取最大值索引\n",
    "b1.idxmax() # 最大值标签\n",
    "b1.idxmin() # 最小值标签"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Python</th>\n",
       "      <th>Tensorflow</th>\n",
       "      <th>Keras</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Python</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.056224</td>\n",
       "      <td>0.168701</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Tensorflow</th>\n",
       "      <td>-0.056224</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.036860</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Keras</th>\n",
       "      <td>0.168701</td>\n",
       "      <td>-0.036860</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              Python  Tensorflow     Keras\n",
       "Python      1.000000   -0.056224  0.168701\n",
       "Tensorflow -0.056224    1.000000 -0.036860\n",
       "Keras       0.168701   -0.036860  1.000000"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 高级统计\n",
    "b1.std() # 标准差\n",
    "b1['Python'].var() # 方差,指定列的数据A和数据A计算\n",
    "b1['Python'].cov(b1['Keras']) # 协方差，Python数据和Keras数据计算\n",
    "b1.cumsum() # 累计和\n",
    "b1.cumprod() # 累乘和\n",
    "b1.cummin() # 累计最小值\n",
    "b1.cummax() # 累计最大值\n",
    "b1.diff() # 差分，A-B\n",
    "b1.pct_change() # 计算百分比变化，(A-B)/B\n",
    "b1.corrwith(b1['Keras']) # 指定列的相关性系数\n",
    "b1.corr() # 所有列的相关性系数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 排序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Python</th>\n",
       "      <th>Tensorflow</th>\n",
       "      <th>Keras</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>J</th>\n",
       "      <td>2</td>\n",
       "      <td>32</td>\n",
       "      <td>62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B</th>\n",
       "      <td>12</td>\n",
       "      <td>88</td>\n",
       "      <td>48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E</th>\n",
       "      <td>27</td>\n",
       "      <td>6</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Python  Tensorflow  Keras\n",
       "J       2          32     62\n",
       "B      12          88     48\n",
       "E      27           6     21"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b1.sort_index() # 默认为行索引升序排列\n",
    "b1.sort_index(ascending= False) # 按行索引降序排列\n",
    "b1.sort_index(axis=1,ascending= False) # 按列索引降序排列\n",
    "b1.sort_values(by='Python',ascending= False) # 指定列的值降序排列\n",
    "b1.sort_values(by=['Python','Keras'],ascending= False) # 先按py降序排，若有相同再根据keras排\n",
    "b1.nlargest(n=3,columns='Python') # 根据py降序排后取最大的n个值\n",
    "b1.nsmallest(n=3,columns='Python') # 根据py升序排后取最大的n个值\n",
    "b1.nsmallest(3,'Python') # 根据py升序排后取最大的n个值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 分箱(分类分组)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(A    不及格\n",
       " B    不及格\n",
       " C     中等\n",
       " D     优秀\n",
       " E    不及格\n",
       " F     良好\n",
       " G     中等\n",
       " H     优秀\n",
       " I     优秀\n",
       " J     良好\n",
       " Name: Keras, dtype: category\n",
       " Categories (4, object): ['不及格' < '中等' < '良好' < '优秀'],\n",
       " array([ 21.  ,  50.25,  61.5 ,  78.25, 146.  ]))"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 等宽分箱，按分箱数\n",
    "pd.cut(b1.Keras,\n",
    "       bins = 4, # 分箱数\n",
    "       right = False, # 默认为左闭右开，true为左闭右闭\n",
    "       labels=['不及格','中等','良好','优秀']) # 分箱的类名\n",
    "\n",
    "# 等宽分箱，按指定分箱区间分箱\n",
    "pd.cut(b1.Keras,\n",
    "       bins = [0,60,90,120,150],\n",
    "       right = True,\n",
    "       labels=['不及格','中等','良好','优秀'])\n",
    "\n",
    "# 等频分箱\n",
    "pd.qcut(b1.Keras,\n",
    "       q = 4, # 分箱数\n",
    "       retbins = True, # 默认为左闭右开，true为左闭右闭\n",
    "       labels=['不及格','中等','良好','优秀'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 分组聚合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sex</th>\n",
       "      <th>class</th>\n",
       "      <th>Python</th>\n",
       "      <th>Keras</th>\n",
       "      <th>Tensorflow</th>\n",
       "      <th>Java</th>\n",
       "      <th>C++</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>143</td>\n",
       "      <td>30</td>\n",
       "      <td>74</td>\n",
       "      <td>125</td>\n",
       "      <td>74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>79</td>\n",
       "      <td>148</td>\n",
       "      <td>35</td>\n",
       "      <td>26</td>\n",
       "      <td>69</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>123</td>\n",
       "      <td>32</td>\n",
       "      <td>13</td>\n",
       "      <td>38</td>\n",
       "      <td>90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>44</td>\n",
       "      <td>57</td>\n",
       "      <td>49</td>\n",
       "      <td>101</td>\n",
       "      <td>53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>142</td>\n",
       "      <td>91</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>295</th>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>93</td>\n",
       "      <td>38</td>\n",
       "      <td>136</td>\n",
       "      <td>90</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>296</th>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>95</td>\n",
       "      <td>124</td>\n",
       "      <td>73</td>\n",
       "      <td>13</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>297</th>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "      <td>117</td>\n",
       "      <td>86</td>\n",
       "      <td>26</td>\n",
       "      <td>103</td>\n",
       "      <td>126</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>298</th>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>146</td>\n",
       "      <td>55</td>\n",
       "      <td>1</td>\n",
       "      <td>65</td>\n",
       "      <td>53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>299</th>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>124</td>\n",
       "      <td>34</td>\n",
       "      <td>128</td>\n",
       "      <td>115</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>300 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     sex  class  Python  Keras  Tensorflow  Java  C++\n",
       "0      1      4     143     30          74   125   74\n",
       "1      0      1      79    148          35    26   69\n",
       "2      1      6     123     32          13    38   90\n",
       "3      0      3      44     57          49   101   53\n",
       "4      0      6     142     91           1     5   58\n",
       "..   ...    ...     ...    ...         ...   ...  ...\n",
       "295    1      4      93     38         136    90   84\n",
       "296    1      4      95    124          73    13   30\n",
       "297    1      7     117     86          26   103  126\n",
       "298    1      6     146     55           1    65   53\n",
       "299    0      8     124     34         128   115    1\n",
       "\n",
       "[300 rows x 7 columns]"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "e1 = pd.DataFrame(data = {'sex':np.random.randint(0,2,size = 300),\n",
    "                          'class':np.random.randint(1,9,size = 300),\n",
    "                          'Python':np.random.randint(0,151,size = 300),\n",
    "                          'Keras':np.random.randint(0,151,size =300),\n",
    "                          'Tensorflow':np.random.randint(0,151,size=300),\n",
    "                          'Java':np.random.randint(0,151,size = 300),\n",
    "                          'C++':np.random.randint(0,151,size = 300)})\n",
    "e1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sex</th>\n",
       "      <th>class</th>\n",
       "      <th>Python</th>\n",
       "      <th>Keras</th>\n",
       "      <th>Tensorflow</th>\n",
       "      <th>Java</th>\n",
       "      <th>C++</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>女</td>\n",
       "      <td>4</td>\n",
       "      <td>143</td>\n",
       "      <td>30</td>\n",
       "      <td>74</td>\n",
       "      <td>125</td>\n",
       "      <td>74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>男</td>\n",
       "      <td>1</td>\n",
       "      <td>79</td>\n",
       "      <td>148</td>\n",
       "      <td>35</td>\n",
       "      <td>26</td>\n",
       "      <td>69</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>女</td>\n",
       "      <td>6</td>\n",
       "      <td>123</td>\n",
       "      <td>32</td>\n",
       "      <td>13</td>\n",
       "      <td>38</td>\n",
       "      <td>90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>男</td>\n",
       "      <td>3</td>\n",
       "      <td>44</td>\n",
       "      <td>57</td>\n",
       "      <td>49</td>\n",
       "      <td>101</td>\n",
       "      <td>53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>男</td>\n",
       "      <td>6</td>\n",
       "      <td>142</td>\n",
       "      <td>91</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>295</th>\n",
       "      <td>女</td>\n",
       "      <td>4</td>\n",
       "      <td>93</td>\n",
       "      <td>38</td>\n",
       "      <td>136</td>\n",
       "      <td>90</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>296</th>\n",
       "      <td>女</td>\n",
       "      <td>4</td>\n",
       "      <td>95</td>\n",
       "      <td>124</td>\n",
       "      <td>73</td>\n",
       "      <td>13</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>297</th>\n",
       "      <td>女</td>\n",
       "      <td>7</td>\n",
       "      <td>117</td>\n",
       "      <td>86</td>\n",
       "      <td>26</td>\n",
       "      <td>103</td>\n",
       "      <td>126</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>298</th>\n",
       "      <td>女</td>\n",
       "      <td>6</td>\n",
       "      <td>146</td>\n",
       "      <td>55</td>\n",
       "      <td>1</td>\n",
       "      <td>65</td>\n",
       "      <td>53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>299</th>\n",
       "      <td>男</td>\n",
       "      <td>8</td>\n",
       "      <td>124</td>\n",
       "      <td>34</td>\n",
       "      <td>128</td>\n",
       "      <td>115</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>300 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
       "0     女      4     143     30          74   125   74\n",
       "1     男      1      79    148          35    26   69\n",
       "2     女      6     123     32          13    38   90\n",
       "3     男      3      44     57          49   101   53\n",
       "4     男      6     142     91           1     5   58\n",
       "..   ..    ...     ...    ...         ...   ...  ...\n",
       "295   女      4      93     38         136    90   84\n",
       "296   女      4      95    124          73    13   30\n",
       "297   女      7     117     86          26   103  126\n",
       "298   女      6     146     55           1    65   53\n",
       "299   男      8     124     34         128   115    1\n",
       "\n",
       "[300 rows x 7 columns]"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "e1['sex'] = e1['sex'].map({0:'男',1:'女'}) # 数据变换\n",
    "e1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "女\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "0     女      4     143     30          74   125   74\n",
      "2     女      6     123     32          13    38   90\n",
      "7     女      3      44    118         136     4   70\n",
      "9     女      1      68     53         105    29  146\n",
      "12    女      1      92    132         104   148   71\n",
      "..   ..    ...     ...    ...         ...   ...  ...\n",
      "294   女      8      12     72         121    60   78\n",
      "295   女      4      93     38         136    90   84\n",
      "296   女      4      95    124          73    13   30\n",
      "297   女      7     117     86          26   103  126\n",
      "298   女      6     146     55           1    65   53\n",
      "\n",
      "[158 rows x 7 columns]\n",
      "女     sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "0     女      4     143     30          74   125   74\n",
      "2     女      6     123     32          13    38   90\n",
      "7     女      3      44    118         136     4   70\n",
      "9     女      1      68     53         105    29  146\n",
      "12    女      1      92    132         104   148   71\n",
      "..   ..    ...     ...    ...         ...   ...  ...\n",
      "294   女      8      12     72         121    60   78\n",
      "295   女      4      93     38         136    90   84\n",
      "296   女      4      95    124          73    13   30\n",
      "297   女      7     117     86          26   103  126\n",
      "298   女      6     146     55           1    65   53\n",
      "\n",
      "[158 rows x 7 columns]\n",
      "男\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "1     男      1      79    148          35    26   69\n",
      "3     男      3      44     57          49   101   53\n",
      "4     男      6     142     91           1     5   58\n",
      "5     男      5      57     52          57   106   34\n",
      "6     男      3      95    142          76    38   27\n",
      "..   ..    ...     ...    ...         ...   ...  ...\n",
      "287   男      2     103     46         134    18  127\n",
      "291   男      2      87     94          51    80  116\n",
      "292   男      2     135      3          87   115  142\n",
      "293   男      8     103     41         126    62   41\n",
      "299   男      8     124     34         128   115    1\n",
      "\n",
      "[142 rows x 7 columns]\n",
      "男     sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "1     男      1      79    148          35    26   69\n",
      "3     男      3      44     57          49   101   53\n",
      "4     男      6     142     91           1     5   58\n",
      "5     男      5      57     52          57   106   34\n",
      "6     男      3      95    142          76    38   27\n",
      "..   ..    ...     ...    ...         ...   ...  ...\n",
      "287   男      2     103     46         134    18  127\n",
      "291   男      2      87     94          51    80  116\n",
      "292   男      2     135      3          87   115  142\n",
      "293   男      8     103     41         126    62   41\n",
      "299   男      8     124     34         128   115    1\n",
      "\n",
      "[142 rows x 7 columns]\n"
     ]
    }
   ],
   "source": [
    "# 按单维度单个条件分组\n",
    "for name,group in e1.groupby(by='sex'):\n",
    "    print(name)\n",
    "    print(group)\n",
    "    print(name,group)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('女', 1)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "9     女      1      68     53         105    29  146\n",
      "12    女      1      92    132         104   148   71\n",
      "40    女      1     104      6         119   108   44\n",
      "60    女      1       5     43         141    75  140\n",
      "96    女      1     135     31          53    89  142\n",
      "105   女      1       7    144         140    67   64\n",
      "113   女      1     115     58         150    28   16\n",
      "135   女      1      71     19           9    63   11\n",
      "150   女      1     136    120         133    74   78\n",
      "197   女      1      52     16         127    49   66\n",
      "218   女      1     138     33         107     8   64\n",
      "237   女      1     105     93          56   100   84\n",
      "261   女      1     141     58           1    21   69\n",
      "274   女      1      97     65         133   138   39\n",
      "277   女      1     104    130         112    99  149\n",
      "('女', 2)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "16    女      2     129     93          98   127    9\n",
      "21    女      2     107    126          12    42  140\n",
      "22    女      2     119     72          66    67   47\n",
      "25    女      2     107     31         134   117  132\n",
      "26    女      2     132     39          12    47   70\n",
      "32    女      2       9      9          68   109  149\n",
      "53    女      2      67     61          29    36   39\n",
      "95    女      2     143     85         110   146   10\n",
      "108   女      2      77     41           0    61  103\n",
      "109   女      2      34     26          86    47   48\n",
      "118   女      2      86     24          27    46  110\n",
      "119   女      2      32      6         131    81   73\n",
      "140   女      2     119    127          25     0   63\n",
      "155   女      2      23    107         117   138  128\n",
      "167   女      2     143     61         117    13   96\n",
      "169   女      2      14    123          98    87   37\n",
      "176   女      2     140     20         120    73  115\n",
      "203   女      2      31      3         141    62  121\n",
      "205   女      2     142     66         138    25   47\n",
      "217   女      2      54     55           2    83    0\n",
      "223   女      2      21    140          16    41  130\n",
      "226   女      2     124     71         101    30   89\n",
      "234   女      2      23     78          82   111   90\n",
      "240   女      2      12     14         141    76  123\n",
      "262   女      2     146    144         117    35   34\n",
      "272   女      2      43      7          56   124    7\n",
      "273   女      2      48     72         120    68    8\n",
      "('女', 3)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "7     女      3      44    118         136     4   70\n",
      "34    女      3     138     74          25    74  116\n",
      "35    女      3     134    130          86   117  142\n",
      "73    女      3       4     72           9    50   66\n",
      "74    女      3      57     64          60    68  145\n",
      "77    女      3      76     55         132   122   17\n",
      "85    女      3     130     64         145    67   87\n",
      "102   女      3     100     29          80     4    3\n",
      "121   女      3      78    105          50    43   40\n",
      "137   女      3     105     12          95   147  143\n",
      "175   女      3      27     16          58     7   26\n",
      "189   女      3      40    142          25    22   12\n",
      "210   女      3     111    147          54    32   37\n",
      "214   女      3      79    110         121    44  138\n",
      "215   女      3     144    100         109   106  127\n",
      "219   女      3     108    125          23    32  115\n",
      "228   女      3     134     46         102    95  121\n",
      "230   女      3      17     14          16    38   94\n",
      "233   女      3      83     35          80    44   60\n",
      "238   女      3     108    147          31   130   78\n",
      "('女', 4)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "0     女      4     143     30          74   125   74\n",
      "15    女      4      52     28         141   132   12\n",
      "55    女      4      10     84          86    23   23\n",
      "59    女      4     124     55          84   149   58\n",
      "78    女      4      69     44         126    55   40\n",
      "79    女      4     143     55          34    25   31\n",
      "117   女      4      96     84         135    54    6\n",
      "120   女      4     115    135          56   123  100\n",
      "138   女      4      21     46          84   124   39\n",
      "168   女      4     122    111          11   126  147\n",
      "177   女      4     122     15          30    66  124\n",
      "181   女      4     120     12         149     3   16\n",
      "184   女      4     119     35          29   102   60\n",
      "200   女      4      49     60          23    83   84\n",
      "216   女      4      45     35          14   135  115\n",
      "245   女      4     127     48         134    86   36\n",
      "267   女      4     135     94          58    12   77\n",
      "295   女      4      93     38         136    90   84\n",
      "296   女      4      95    124          73    13   30\n",
      "('女', 5)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "28    女      5      68     24         103   146   79\n",
      "45    女      5     140    104          83    81   41\n",
      "54    女      5      53    142          73    62   31\n",
      "63    女      5      25     31          94   129  150\n",
      "70    女      5      73     37         131   143   19\n",
      "71    女      5      51     17         106    60   15\n",
      "86    女      5      15    112          70   116   50\n",
      "97    女      5      98     29          41    71   13\n",
      "132   女      5     119     52          32   113  120\n",
      "145   女      5      17     99         133   119   74\n",
      "174   女      5      40     60          94   100   23\n",
      "180   女      5     114     98          25    71   21\n",
      "195   女      5      53    128         105   124  111\n",
      "222   女      5      27    105          16   131    8\n",
      "227   女      5      22    111         116    72   84\n",
      "241   女      5      86     36          67     3  126\n",
      "254   女      5      82     69          12   135   70\n",
      "263   女      5     128     23          67   146   34\n",
      "270   女      5      82     19          92   141   28\n",
      "278   女      5      73    133         137    87  113\n",
      "290   女      5     124     96         127     1   50\n",
      "('女', 6)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "2     女      6     123     32          13    38   90\n",
      "13    女      6      28     47         150    28    6\n",
      "17    女      6      45     25         138    16  127\n",
      "33    女      6      87     44         142    27   57\n",
      "42    女      6      37     23          55    78   82\n",
      "43    女      6      13     50         123    44  129\n",
      "66    女      6      44    145          84    51  131\n",
      "68    女      6      46     89          35    58   42\n",
      "107   女      6     109      7          94    91  118\n",
      "126   女      6      15     87          38   149  140\n",
      "141   女      6      63     45          60    78   16\n",
      "143   女      6     133      0          20     2  123\n",
      "158   女      6     105     74          65   125  118\n",
      "182   女      6     133    147         140    81   64\n",
      "187   女      6      49     81          51    70   20\n",
      "193   女      6      18     76         140   142   64\n",
      "201   女      6      56    110           3   142   10\n",
      "213   女      6      40    115         105   141    1\n",
      "235   女      6      92    105          50   136   30\n",
      "248   女      6      83     12           4   134  144\n",
      "249   女      6      59    109         112    35  138\n",
      "259   女      6      75    113          72   146    1\n",
      "275   女      6      31      6          10    76  133\n",
      "279   女      6     127     91          88     5   33\n",
      "285   女      6     142      4          52    38  143\n",
      "288   女      6       2    100         100    34   43\n",
      "298   女      6     146     55           1    65   53\n",
      "('女', 7)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "111   女      7     105     12         103    38   43\n",
      "115   女      7     124    141          99    79   23\n",
      "124   女      7     113     21          11     6  139\n",
      "148   女      7     133    121         110    76   63\n",
      "162   女      7     108     95         129   123  150\n",
      "178   女      7     144     40         119     2   83\n",
      "194   女      7      55     10         123    30   83\n",
      "198   女      7     124     68          56    33   56\n",
      "208   女      7      72     96          22   133   84\n",
      "232   女      7      34    106         145    10  148\n",
      "242   女      7      16      7          68    27   12\n",
      "252   女      7      60     82          40    31  102\n",
      "256   女      7      56      6           1    48   73\n",
      "289   女      7     130     71          30    58   98\n",
      "297   女      7     117     86          26   103  126\n",
      "('女', 8)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "14    女      8      63    146          48    65  116\n",
      "47    女      8     119    143          79   126  104\n",
      "65    女      8      47     62          30   124   15\n",
      "81    女      8      73     52         106   113   61\n",
      "100   女      8      84     70         101   149    0\n",
      "106   女      8      76    125          82    55   19\n",
      "112   女      8     147     55          85   131   43\n",
      "134   女      8      81     53           5    96   62\n",
      "196   女      8      34     44         112    74   37\n",
      "229   女      8      96     10          41    67  101\n",
      "251   女      8     112     19         137    41  104\n",
      "260   女      8      20    122          17   104   79\n",
      "281   女      8     137      2          33    48   21\n",
      "294   女      8      12     72         121    60   78\n",
      "('男', 1)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "1     男      1      79    148          35    26   69\n",
      "10    男      1     104     26         104    26  136\n",
      "24    男      1      57    141         119   120  145\n",
      "30    男      1      86    109          82   125   31\n",
      "37    男      1     145    132          77    24   60\n",
      "41    男      1      21     78          22   141   29\n",
      "48    男      1      36     11          20    93    5\n",
      "72    男      1     149     52          55    20   93\n",
      "80    男      1      16     98         130   137  114\n",
      "84    男      1     105     58         125    86   18\n",
      "89    男      1      99     40         113    47   43\n",
      "98    男      1      21     59          57   115   38\n",
      "127   男      1      33      9          68   120   64\n",
      "128   男      1      70     47         121    12  117\n",
      "144   男      1      81     10          18    14  101\n",
      "173   男      1     148     30         124    47  149\n",
      "207   男      1     143    104          44    41   23\n",
      "209   男      1     122     39          54    24  133\n",
      "211   男      1     127     56          40    99   86\n",
      "212   男      1      12    149           8    97   75\n",
      "231   男      1     104     89          99    84  100\n",
      "236   男      1     112    135          43    12   58\n",
      "280   男      1      48      6          50   104   36\n",
      "('男', 2)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "19    男      2      85     42          16    31  107\n",
      "36    男      2     112     88          29     6  128\n",
      "39    男      2      20    104          79    77   98\n",
      "50    男      2      90     70         149    20  146\n",
      "51    男      2      24    135         143    98   70\n",
      "56    男      2      43    115           8    93    9\n",
      "61    男      2      64     34           9    91  102\n",
      "76    男      2      81     79          50   139   40\n",
      "91    男      2       9    144         130   149   95\n",
      "92    男      2      72     77           1   116  107\n",
      "101   男      2       0     26          74   135    6\n",
      "116   男      2     145     81          14    28   31\n",
      "123   男      2      57    125           3    50    9\n",
      "130   男      2      39     71         102    81   76\n",
      "133   男      2     145    120         109   111  149\n",
      "149   男      2      62     54          87    13   48\n",
      "157   男      2     131      0          73    72   34\n",
      "159   男      2     146    140          80   128  118\n",
      "161   男      2     107     55          89    77   40\n",
      "166   男      2     122     35         138   101   31\n",
      "171   男      2      27     53          78    70  106\n",
      "244   男      2      16    102          61   129   12\n",
      "247   男      2      86     31          68    44  135\n",
      "257   男      2      84    122         104    31  141\n",
      "258   男      2      80    150         131    10  112\n",
      "269   男      2       6     71         142    81   35\n",
      "287   男      2     103     46         134    18  127\n",
      "291   男      2      87     94          51    80  116\n",
      "292   男      2     135      3          87   115  142\n",
      "('男', 3)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "3     男      3      44     57          49   101   53\n",
      "6     男      3      95    142          76    38   27\n",
      "23    男      3      21    104          85   130   87\n",
      "27    男      3      13     40         112    84   44\n",
      "29    男      3      96     87          61    49  147\n",
      "31    男      3      48     99          93    23   67\n",
      "69    男      3      86    108          70    31    3\n",
      "83    男      3     142     87          20    44   10\n",
      "94    男      3      23     62         149     8  103\n",
      "122   男      3     136    129         131   107  145\n",
      "163   男      3       0     22         105    24   42\n",
      "164   男      3      13    103          23    76   64\n",
      "172   男      3      84     32          92    10   89\n",
      "191   男      3      70    114          22    19  123\n",
      "202   男      3     136    100         139     1  131\n",
      "246   男      3      85     75          73    95   20\n",
      "276   男      3      69     75          76   141  123\n",
      "('男', 4)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "11    男      4      57     96          54    27  150\n",
      "58    男      4      23     26          40   146   77\n",
      "93    男      4      71     94          60    90    8\n",
      "131   男      4     136     55         118    25   47\n",
      "183   男      4     143      3          72   148   23\n",
      "192   男      4      63     75          76    43  112\n",
      "224   男      4      27    148         125   129   69\n",
      "225   男      4     131     97           7   142  116\n",
      "250   男      4      94    118          57   127  150\n",
      "255   男      4      52      8          74    14    6\n",
      "284   男      4      44     82          13    48   16\n",
      "286   男      4      29     21          18    90   70\n",
      "('男', 5)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "5     男      5      57     52          57   106   34\n",
      "52    男      5     116     17         102    65  117\n",
      "75    男      5      83    116         104   113   31\n",
      "82    男      5     133     29           6    92   78\n",
      "88    男      5      89     40          92    21   76\n",
      "99    男      5      83     69          87    34  110\n",
      "110   男      5      46    131          75    80  116\n",
      "125   男      5     106     76         146   105   82\n",
      "152   男      5      91    124          37   132   90\n",
      "188   男      5     130     83         127    96    7\n",
      "221   男      5      57     57          15    61  120\n",
      "265   男      5     108     38         143    43   20\n",
      "282   男      5     139    138         116    83    3\n",
      "('男', 6)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "4     男      6     142     91           1     5   58\n",
      "38    男      6      15    128         105   112   25\n",
      "44    男      6     103     95          63    71  136\n",
      "64    男      6      23     81         112    56   99\n",
      "87    男      6       8     41          74   128   77\n",
      "104   男      6      36     23          14    20   50\n",
      "136   男      6      90     53          99   111   44\n",
      "154   男      6     109      6          75    32   70\n",
      "170   男      6      11      9          47    64   31\n",
      "186   男      6      15    116          62    56  134\n",
      "190   男      6      47     85          17   133   45\n",
      "199   男      6     139     52          15    74   51\n",
      "264   男      6     129     98         128    20   45\n",
      "('男', 7)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "18    男      7      92     49          90   133  149\n",
      "57    男      7      50     74         141   136  133\n",
      "90    男      7     148    124          52    16   79\n",
      "114   男      7      70     30         101    96  121\n",
      "139   男      7      16     81         105   128   44\n",
      "142   男      7      72    131           3    40  143\n",
      "151   男      7     130     97         130    84  139\n",
      "153   男      7      26    144          97    22   94\n",
      "156   男      7     102      9          84    13   84\n",
      "165   男      7      96      2          70    40    7\n",
      "179   男      7      11     28           4    28   81\n",
      "220   男      7      99     69          42     1  114\n",
      "239   男      7     104     71          14    25   34\n",
      "253   男      7      96    132          40   139   27\n",
      "266   男      7     116     66         112   142  105\n",
      "268   男      7      20    117         143    46  107\n",
      "283   男      7       1     58         123    73  114\n",
      "('男', 8)\n",
      "    sex  class  Python  Keras  Tensorflow  Java  C++\n",
      "8     男      8      29    141         116    45  143\n",
      "20    男      8     114    100          44   128   74\n",
      "46    男      8      85     69         106    41   79\n",
      "49    男      8      81    147         146   117  100\n",
      "62    男      8     127     42          26    45    9\n",
      "67    男      8      50     51         113   143  110\n",
      "103   男      8     125     48          30    57   88\n",
      "129   男      8      63     39          66   142  150\n",
      "146   男      8     146     21         135   136   67\n",
      "147   男      8      18     74          34     3    6\n",
      "160   男      8      43     23         146    12   75\n",
      "185   男      8      49      4         131     4   21\n",
      "204   男      8      58     34         135   141   73\n",
      "206   男      8      94    149         102    64  118\n",
      "243   男      8      81     17          21    73   76\n",
      "271   男      8      77    133         107   142    6\n",
      "293   男      8     103     41         126    62   41\n",
      "299   男      8     124     34         128   115    1\n"
     ]
    }
   ],
   "source": [
    "# 按单维度多条件分组\n",
    "for name,group in e1.groupby(by=['sex','class']):\n",
    "    print(name)\n",
    "    print(group)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('女', 1)\n",
      "     C++  Java\n",
      "9    146    29\n",
      "12    71   148\n",
      "40    44   108\n",
      "60   140    75\n",
      "96   142    89\n",
      "105   64    67\n",
      "113   16    28\n",
      "135   11    63\n",
      "150   78    74\n",
      "197   66    49\n",
      "218   64     8\n",
      "237   84   100\n",
      "261   69    21\n",
      "274   39   138\n",
      "277  149    99\n",
      "('女', 2)\n",
      "     C++  Java\n",
      "16     9   127\n",
      "21   140    42\n",
      "22    47    67\n",
      "25   132   117\n",
      "26    70    47\n",
      "32   149   109\n",
      "53    39    36\n",
      "95    10   146\n",
      "108  103    61\n",
      "109   48    47\n",
      "118  110    46\n",
      "119   73    81\n",
      "140   63     0\n",
      "155  128   138\n",
      "167   96    13\n",
      "169   37    87\n",
      "176  115    73\n",
      "203  121    62\n",
      "205   47    25\n",
      "217    0    83\n",
      "223  130    41\n",
      "226   89    30\n",
      "234   90   111\n",
      "240  123    76\n",
      "262   34    35\n",
      "272    7   124\n",
      "273    8    68\n",
      "('女', 3)\n",
      "     C++  Java\n",
      "7     70     4\n",
      "34   116    74\n",
      "35   142   117\n",
      "73    66    50\n",
      "74   145    68\n",
      "77    17   122\n",
      "85    87    67\n",
      "102    3     4\n",
      "121   40    43\n",
      "137  143   147\n",
      "175   26     7\n",
      "189   12    22\n",
      "210   37    32\n",
      "214  138    44\n",
      "215  127   106\n",
      "219  115    32\n",
      "228  121    95\n",
      "230   94    38\n",
      "233   60    44\n",
      "238   78   130\n",
      "('女', 4)\n",
      "     C++  Java\n",
      "0     74   125\n",
      "15    12   132\n",
      "55    23    23\n",
      "59    58   149\n",
      "78    40    55\n",
      "79    31    25\n",
      "117    6    54\n",
      "120  100   123\n",
      "138   39   124\n",
      "168  147   126\n",
      "177  124    66\n",
      "181   16     3\n",
      "184   60   102\n",
      "200   84    83\n",
      "216  115   135\n",
      "245   36    86\n",
      "267   77    12\n",
      "295   84    90\n",
      "296   30    13\n",
      "('女', 5)\n",
      "     C++  Java\n",
      "28    79   146\n",
      "45    41    81\n",
      "54    31    62\n",
      "63   150   129\n",
      "70    19   143\n",
      "71    15    60\n",
      "86    50   116\n",
      "97    13    71\n",
      "132  120   113\n",
      "145   74   119\n",
      "174   23   100\n",
      "180   21    71\n",
      "195  111   124\n",
      "222    8   131\n",
      "227   84    72\n",
      "241  126     3\n",
      "254   70   135\n",
      "263   34   146\n",
      "270   28   141\n",
      "278  113    87\n",
      "290   50     1\n",
      "('女', 6)\n",
      "     C++  Java\n",
      "2     90    38\n",
      "13     6    28\n",
      "17   127    16\n",
      "33    57    27\n",
      "42    82    78\n",
      "43   129    44\n",
      "66   131    51\n",
      "68    42    58\n",
      "107  118    91\n",
      "126  140   149\n",
      "141   16    78\n",
      "143  123     2\n",
      "158  118   125\n",
      "182   64    81\n",
      "187   20    70\n",
      "193   64   142\n",
      "201   10   142\n",
      "213    1   141\n",
      "235   30   136\n",
      "248  144   134\n",
      "249  138    35\n",
      "259    1   146\n",
      "275  133    76\n",
      "279   33     5\n",
      "285  143    38\n",
      "288   43    34\n",
      "298   53    65\n",
      "('女', 7)\n",
      "     C++  Java\n",
      "111   43    38\n",
      "115   23    79\n",
      "124  139     6\n",
      "148   63    76\n",
      "162  150   123\n",
      "178   83     2\n",
      "194   83    30\n",
      "198   56    33\n",
      "208   84   133\n",
      "232  148    10\n",
      "242   12    27\n",
      "252  102    31\n",
      "256   73    48\n",
      "289   98    58\n",
      "297  126   103\n",
      "('女', 8)\n",
      "     C++  Java\n",
      "14   116    65\n",
      "47   104   126\n",
      "65    15   124\n",
      "81    61   113\n",
      "100    0   149\n",
      "106   19    55\n",
      "112   43   131\n",
      "134   62    96\n",
      "196   37    74\n",
      "229  101    67\n",
      "251  104    41\n",
      "260   79   104\n",
      "281   21    48\n",
      "294   78    60\n",
      "('男', 1)\n",
      "     C++  Java\n",
      "1     69    26\n",
      "10   136    26\n",
      "24   145   120\n",
      "30    31   125\n",
      "37    60    24\n",
      "41    29   141\n",
      "48     5    93\n",
      "72    93    20\n",
      "80   114   137\n",
      "84    18    86\n",
      "89    43    47\n",
      "98    38   115\n",
      "127   64   120\n",
      "128  117    12\n",
      "144  101    14\n",
      "173  149    47\n",
      "207   23    41\n",
      "209  133    24\n",
      "211   86    99\n",
      "212   75    97\n",
      "231  100    84\n",
      "236   58    12\n",
      "280   36   104\n",
      "('男', 2)\n",
      "     C++  Java\n",
      "19   107    31\n",
      "36   128     6\n",
      "39    98    77\n",
      "50   146    20\n",
      "51    70    98\n",
      "56     9    93\n",
      "61   102    91\n",
      "76    40   139\n",
      "91    95   149\n",
      "92   107   116\n",
      "101    6   135\n",
      "116   31    28\n",
      "123    9    50\n",
      "130   76    81\n",
      "133  149   111\n",
      "149   48    13\n",
      "157   34    72\n",
      "159  118   128\n",
      "161   40    77\n",
      "166   31   101\n",
      "171  106    70\n",
      "244   12   129\n",
      "247  135    44\n",
      "257  141    31\n",
      "258  112    10\n",
      "269   35    81\n",
      "287  127    18\n",
      "291  116    80\n",
      "292  142   115\n",
      "('男', 3)\n",
      "     C++  Java\n",
      "3     53   101\n",
      "6     27    38\n",
      "23    87   130\n",
      "27    44    84\n",
      "29   147    49\n",
      "31    67    23\n",
      "69     3    31\n",
      "83    10    44\n",
      "94   103     8\n",
      "122  145   107\n",
      "163   42    24\n",
      "164   64    76\n",
      "172   89    10\n",
      "191  123    19\n",
      "202  131     1\n",
      "246   20    95\n",
      "276  123   141\n",
      "('男', 4)\n",
      "     C++  Java\n",
      "11   150    27\n",
      "58    77   146\n",
      "93     8    90\n",
      "131   47    25\n",
      "183   23   148\n",
      "192  112    43\n",
      "224   69   129\n",
      "225  116   142\n",
      "250  150   127\n",
      "255    6    14\n",
      "284   16    48\n",
      "286   70    90\n",
      "('男', 5)\n",
      "     C++  Java\n",
      "5     34   106\n",
      "52   117    65\n",
      "75    31   113\n",
      "82    78    92\n",
      "88    76    21\n",
      "99   110    34\n",
      "110  116    80\n",
      "125   82   105\n",
      "152   90   132\n",
      "188    7    96\n",
      "221  120    61\n",
      "265   20    43\n",
      "282    3    83\n",
      "('男', 6)\n",
      "     C++  Java\n",
      "4     58     5\n",
      "38    25   112\n",
      "44   136    71\n",
      "64    99    56\n",
      "87    77   128\n",
      "104   50    20\n",
      "136   44   111\n",
      "154   70    32\n",
      "170   31    64\n",
      "186  134    56\n",
      "190   45   133\n",
      "199   51    74\n",
      "264   45    20\n",
      "('男', 7)\n",
      "     C++  Java\n",
      "18   149   133\n",
      "57   133   136\n",
      "90    79    16\n",
      "114  121    96\n",
      "139   44   128\n",
      "142  143    40\n",
      "151  139    84\n",
      "153   94    22\n",
      "156   84    13\n",
      "165    7    40\n",
      "179   81    28\n",
      "220  114     1\n",
      "239   34    25\n",
      "253   27   139\n",
      "266  105   142\n",
      "268  107    46\n",
      "283  114    73\n",
      "('男', 8)\n",
      "     C++  Java\n",
      "8    143    45\n",
      "20    74   128\n",
      "46    79    41\n",
      "49   100   117\n",
      "62     9    45\n",
      "67   110   143\n",
      "103   88    57\n",
      "129  150   142\n",
      "146   67   136\n",
      "147    6     3\n",
      "160   75    12\n",
      "185   21     4\n",
      "204   73   141\n",
      "206  118    64\n",
      "243   76    73\n",
      "271    6   142\n",
      "293   41    62\n",
      "299    1   115\n"
     ]
    }
   ],
   "source": [
    "# 按多维度多条件分组\n",
    "for name,group in e1[['C++','Java']].groupby([e1['sex'],e1['class']]):\n",
    "    print(name)\n",
    "    print(group)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "int32\n",
      "     class  Python  Keras  Tensorflow  Java  C++\n",
      "0        4     143     30          74   125   74\n",
      "1        1      79    148          35    26   69\n",
      "2        6     123     32          13    38   90\n",
      "3        3      44     57          49   101   53\n",
      "4        6     142     91           1     5   58\n",
      "..     ...     ...    ...         ...   ...  ...\n",
      "295      4      93     38         136    90   84\n",
      "296      4      95    124          73    13   30\n",
      "297      7     117     86          26   103  126\n",
      "298      6     146     55           1    65   53\n",
      "299      8     124     34         128   115    1\n",
      "\n",
      "[300 rows x 6 columns]\n",
      "object\n",
      "    sex\n",
      "0     女\n",
      "1     男\n",
      "2     女\n",
      "3     男\n",
      "4     男\n",
      "..   ..\n",
      "295   女\n",
      "296   女\n",
      "297   女\n",
      "298   女\n",
      "299   男\n",
      "\n",
      "[300 rows x 1 columns]\n"
     ]
    }
   ],
   "source": [
    "# 按默认数据类型分组\n",
    "for name,group in e1.groupby(e1.dtypes,axis=1): # axis默认为0\n",
    "    print(name)\n",
    "    print(group)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "category\n",
      "    sex  class\n",
      "0     女      4\n",
      "1     男      1\n",
      "2     女      6\n",
      "3     男      3\n",
      "4     男      6\n",
      "..   ..    ...\n",
      "295   女      4\n",
      "296   女      4\n",
      "297   女      7\n",
      "298   女      6\n",
      "299   男      8\n",
      "\n",
      "[300 rows x 2 columns]\n",
      "学课\n",
      "     Python  Java\n",
      "0       143   125\n",
      "1        79    26\n",
      "2       123    38\n",
      "3        44   101\n",
      "4       142     5\n",
      "..      ...   ...\n",
      "295      93    90\n",
      "296      95    13\n",
      "297     117   103\n",
      "298     146    65\n",
      "299     124   115\n",
      "\n",
      "[300 rows x 2 columns]\n"
     ]
    }
   ],
   "source": [
    "# 按指定数据类型分组\n",
    "types = {'sex':'category','class':'category','Python':'学课','Java':'学课'}\n",
    "for name,group in e1.groupby(by= types,axis=1): # axis默认为0\n",
    "    print(name)\n",
    "    print(group)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>Python</th>\n",
       "      <th>Java</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th>class</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">女</th>\n",
       "      <th>1</th>\n",
       "      <td>141</td>\n",
       "      <td>148</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>146</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>144</td>\n",
       "      <td>147</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>143</td>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>140</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>146</td>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>144</td>\n",
       "      <td>133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>147</td>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">男</th>\n",
       "      <th>1</th>\n",
       "      <td>149</td>\n",
       "      <td>141</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>146</td>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>142</td>\n",
       "      <td>141</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>143</td>\n",
       "      <td>148</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>139</td>\n",
       "      <td>132</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>142</td>\n",
       "      <td>133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>148</td>\n",
       "      <td>142</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>146</td>\n",
       "      <td>143</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           Python  Java\n",
       "sex class              \n",
       "女   1         141   148\n",
       "    2         146   146\n",
       "    3         144   147\n",
       "    4         143   149\n",
       "    5         140   146\n",
       "    6         146   149\n",
       "    7         144   133\n",
       "    8         147   149\n",
       "男   1         149   141\n",
       "    2         146   149\n",
       "    3         142   141\n",
       "    4         143   148\n",
       "    5         139   132\n",
       "    6         142   133\n",
       "    7         148   142\n",
       "    8         146   143"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 按单维度分组聚合\n",
    "e1.groupby(by=['sex','class']).max()\n",
    "e1.groupby(by=['sex','class']).size() # 统计各班各性别人数\n",
    "e1.groupby(by=['sex','class']).describe() \n",
    "\n",
    "# 按多维度分组聚合\n",
    "e1.groupby(by=['sex','class'])[['Python','Java']].max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Python</th>\n",
       "      <th>Java</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>94.74</td>\n",
       "      <td>80.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>83.39</td>\n",
       "      <td>70.17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>70.41</td>\n",
       "      <td>75.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>68.29</td>\n",
       "      <td>57.71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>66.69</td>\n",
       "      <td>67.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>295</th>\n",
       "      <td>94.74</td>\n",
       "      <td>80.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>296</th>\n",
       "      <td>94.74</td>\n",
       "      <td>80.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>297</th>\n",
       "      <td>92.73</td>\n",
       "      <td>53.13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>298</th>\n",
       "      <td>70.41</td>\n",
       "      <td>75.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>299</th>\n",
       "      <td>81.50</td>\n",
       "      <td>81.67</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>300 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Python   Java\n",
       "0     94.74  80.32\n",
       "1     83.39  70.17\n",
       "2     70.41  75.19\n",
       "3     68.29  57.71\n",
       "4     66.69  67.85\n",
       "..      ...    ...\n",
       "295   94.74  80.32\n",
       "296   94.74  80.32\n",
       "297   92.73  53.13\n",
       "298   70.41  75.19\n",
       "299   81.50  81.67\n",
       "\n",
       "[300 rows x 2 columns]"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# apply、transform分组聚合，apply会聚合，transform聚合后会返回同样数量的数据\n",
    "e1.groupby(by=['sex','class']).apply(np.mean)\n",
    "e1.groupby(by=['sex','class'])[['Python','Java']].transform(np.mean)\n",
    "# 自定义\n",
    "def means(x):\n",
    "    return np.round(x.mean(),2)\n",
    "e1.groupby(by=['sex','class'])[['Python','Java']].transform(means)\n",
    "#e1.groupby(by=['sex','class'])[['Python','Java']].apply(means)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>Python</th>\n",
       "      <th>Java</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>平均值</th>\n",
       "      <th>最大值</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th>class</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">女</th>\n",
       "      <th>1</th>\n",
       "      <td>91.333333</td>\n",
       "      <td>148</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>78.703704</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>85.850000</td>\n",
       "      <td>147</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>94.736842</td>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>70.952381</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>70.407407</td>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>92.733333</td>\n",
       "      <td>133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>78.642857</td>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">男</th>\n",
       "      <th>1</th>\n",
       "      <td>83.391304</td>\n",
       "      <td>141</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>75.103448</td>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>68.294118</td>\n",
       "      <td>141</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>72.500000</td>\n",
       "      <td>148</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>95.230769</td>\n",
       "      <td>132</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>66.692308</td>\n",
       "      <td>133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>73.470588</td>\n",
       "      <td>142</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>81.500000</td>\n",
       "      <td>143</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              Python Java\n",
       "                 平均值  最大值\n",
       "sex class                \n",
       "女   1      91.333333  148\n",
       "    2      78.703704  146\n",
       "    3      85.850000  147\n",
       "    4      94.736842  149\n",
       "    5      70.952381  146\n",
       "    6      70.407407  149\n",
       "    7      92.733333  133\n",
       "    8      78.642857  149\n",
       "男   1      83.391304  141\n",
       "    2      75.103448  149\n",
       "    3      68.294118  141\n",
       "    4      72.500000  148\n",
       "    5      95.230769  132\n",
       "    6      66.692308  133\n",
       "    7      73.470588  142\n",
       "    8      81.500000  143"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# agg分组聚合\n",
    "e1.groupby(by=['sex','class']).agg([np.mean,np.max,np.min])\n",
    "e1.groupby(by=['sex','class']).agg([('平均值',np.mean),('最大值',np.max)])\n",
    "e1.groupby(by=['sex','class']).agg({'Python':[('平均值',np.mean)],'Java':[('最大值',np.max)]})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">Java</th>\n",
       "      <th colspan=\"2\" halign=\"left\">Python</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>平均值</th>\n",
       "      <th>最大值</th>\n",
       "      <th>平均值</th>\n",
       "      <th>最大值</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th>class</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">女</th>\n",
       "      <th>1</th>\n",
       "      <td>73.066667</td>\n",
       "      <td>148.0</td>\n",
       "      <td>91.333333</td>\n",
       "      <td>141.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>70.074074</td>\n",
       "      <td>146.0</td>\n",
       "      <td>78.703704</td>\n",
       "      <td>146.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>62.300000</td>\n",
       "      <td>147.0</td>\n",
       "      <td>85.850000</td>\n",
       "      <td>144.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>80.315789</td>\n",
       "      <td>149.0</td>\n",
       "      <td>94.736842</td>\n",
       "      <td>143.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>97.666667</td>\n",
       "      <td>146.0</td>\n",
       "      <td>70.952381</td>\n",
       "      <td>140.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>75.185185</td>\n",
       "      <td>149.0</td>\n",
       "      <td>70.407407</td>\n",
       "      <td>146.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>53.133333</td>\n",
       "      <td>133.0</td>\n",
       "      <td>92.733333</td>\n",
       "      <td>144.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>89.500000</td>\n",
       "      <td>149.0</td>\n",
       "      <td>78.642857</td>\n",
       "      <td>147.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">男</th>\n",
       "      <th>1</th>\n",
       "      <td>70.173913</td>\n",
       "      <td>141.0</td>\n",
       "      <td>83.391304</td>\n",
       "      <td>149.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>75.655172</td>\n",
       "      <td>149.0</td>\n",
       "      <td>75.103448</td>\n",
       "      <td>146.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>57.705882</td>\n",
       "      <td>141.0</td>\n",
       "      <td>68.294118</td>\n",
       "      <td>142.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>85.750000</td>\n",
       "      <td>148.0</td>\n",
       "      <td>72.500000</td>\n",
       "      <td>143.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>79.307692</td>\n",
       "      <td>132.0</td>\n",
       "      <td>95.230769</td>\n",
       "      <td>139.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>67.846154</td>\n",
       "      <td>133.0</td>\n",
       "      <td>66.692308</td>\n",
       "      <td>142.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>68.352941</td>\n",
       "      <td>142.0</td>\n",
       "      <td>73.470588</td>\n",
       "      <td>148.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>81.666667</td>\n",
       "      <td>143.0</td>\n",
       "      <td>81.500000</td>\n",
       "      <td>146.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Java            Python       \n",
       "                 平均值    最大值        平均值    最大值\n",
       "sex class                                    \n",
       "女   1      73.066667  148.0  91.333333  141.0\n",
       "    2      70.074074  146.0  78.703704  146.0\n",
       "    3      62.300000  147.0  85.850000  144.0\n",
       "    4      80.315789  149.0  94.736842  143.0\n",
       "    5      97.666667  146.0  70.952381  140.0\n",
       "    6      75.185185  149.0  70.407407  146.0\n",
       "    7      53.133333  133.0  92.733333  144.0\n",
       "    8      89.500000  149.0  78.642857  147.0\n",
       "男   1      70.173913  141.0  83.391304  149.0\n",
       "    2      75.655172  149.0  75.103448  146.0\n",
       "    3      57.705882  141.0  68.294118  142.0\n",
       "    4      85.750000  148.0  72.500000  143.0\n",
       "    5      79.307692  132.0  95.230769  139.0\n",
       "    6      67.846154  133.0  66.692308  142.0\n",
       "    7      68.352941  142.0  73.470588  148.0\n",
       "    8      81.666667  143.0  81.500000  146.0"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 透视表\n",
    "e1.pivot_table(values=['Python','Java'], \n",
    "               index=['sex','class'], # 透视指标\n",
    "               aggfunc=['mean','max']) # 统计函数\n",
    "\n",
    "e1.pivot_table(values=['Python','Java'], \n",
    "               index=['sex','class'], # 透视指标\n",
    "               aggfunc={'Python':[('平均值',np.mean),('最大值',np.max)],\n",
    "                       'Java':[('平均值',np.mean),('最大值',np.max)]}) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 时间日期"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2022-12-31    5\n",
       "2023-01-31    4\n",
       "2023-02-28    4\n",
       "2023-03-31    2\n",
       "2023-04-30    1\n",
       "2023-05-31    1\n",
       "2023-06-30    8\n",
       "2023-07-31    7\n",
       "2023-08-31    9\n",
       "2023-09-30    5\n",
       "2023-10-31    9\n",
       "2023-11-30    4\n",
       "2023-12-31    9\n",
       "2024-01-31    9\n",
       "2024-02-29    9\n",
       "2024-03-31    1\n",
       "2024-04-30    2\n",
       "2024-05-31    9\n",
       "2024-06-30    2\n",
       "2024-07-31    9\n",
       "Freq: M, dtype: int32"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 创建时间\n",
    "pd.Timestamp('2022.02.23 15:23') # 创建具体时间\n",
    "pd.Period('2022.11.25',freq='M') # 创建时期，freq默认为day可不写\n",
    "mn=pd.date_range('2022.12.22',freq='M',periods=20) # 创建以指定时间后的n个时间\n",
    "pd.Series(np.random.randint(0,10,size=20),index=mn) # 创建日期索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['1989-06-21 16:27:03'], dtype='datetime64[ns]', freq=None)"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 时间转换\n",
    "pd.to_datetime(['2020.12.23','2020/1/2']) # 转为统一格式\n",
    "pd.to_datetime([593454423],unit='s') # 时间戳转换为具体时间，为世界标准时间\n",
    "pd.to_datetime([593454423],unit='ms')+ pd.DateOffset(hours=8) # 转为中国时间\n",
    "pd.to_datetime([593454423],unit='s')+ pd.DateOffset(months=8) # n个月之后的时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2022-12-22     73\n",
       "2022-12-23     99\n",
       "2022-12-24    146\n",
       "2022-12-25    224\n",
       "2022-12-26     20\n",
       "             ... \n",
       "2023-07-05    149\n",
       "2023-07-06    227\n",
       "2023-07-07    153\n",
       "2023-07-08     98\n",
       "2023-07-09    105\n",
       "Freq: D, Length: 200, dtype: int32"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 时间戳索引\n",
    "tm = pd.Series(np.random.randint(0,300,size=200),\n",
    "          index=pd.date_range('2022.12.22',freq='D',periods=200))\n",
    "tm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2023-01-01     89\n",
       "2023-01-02    271\n",
       "2023-01-03     54\n",
       "2023-01-04    292\n",
       "2023-01-05     26\n",
       "2023-01-06    158\n",
       "Freq: D, dtype: int32"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# str索引查找\n",
    "tm['2022.12.26'] # 查找指定日期的数据\n",
    "tm[pd.Timestamp('2022.12.26')] \n",
    "tm['2022.12'] # 查找指定年月的数据\n",
    "tm['2023'] # 查找指定年份的数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2023-01-01     31\n",
       "2023-01-04     68\n",
       "2023-01-07    277\n",
       "2023-01-10    243\n",
       "2023-01-13    194\n",
       "2023-01-16     10\n",
       "2023-01-19    287\n",
       "2023-01-22     83\n",
       "2023-01-25    116\n",
       "2023-01-28    220\n",
       "2023-01-31      3\n",
       "2023-02-03    215\n",
       "2023-02-06     35\n",
       "2023-02-09    118\n",
       "2023-02-12    282\n",
       "2023-02-15    175\n",
       "2023-02-18     11\n",
       "2023-02-21    276\n",
       "2023-02-24    226\n",
       "Freq: 3D, dtype: int32"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 切片索引查找\n",
    "tm['2023.1.1':'2023.2.26'] \n",
    "tm[pd.Timestamp('2023.1.1'):pd.Timestamp('2023.2.26')] \n",
    "tm[pd.Timestamp('2023.1.1'):pd.Timestamp('2023.2.26'):3] \n",
    "tm[pd.date_range('2023.1.1',freq='D',periods=6)] # 查找指定日期后的n天数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\fzn\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\ipykernel_launcher.py:7: FutureWarning: weekofyear and week have been deprecated, please use DatetimeIndex.isocalendar().week instead, which returns a Series.  To exactly reproduce the behavior of week and weekofyear and return an Index, you may call pd.Int64Index(idx.isocalendar().week)\n",
      "  import sys\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Int64Index([51, 51, 51, 51, 52, 52, 52, 52, 52, 52,\n",
       "            ...\n",
       "            26, 26, 26, 27, 27, 27, 27, 27, 27, 27],\n",
       "           dtype='int64', length=200)"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 时间索引属性\n",
    "tm.index.year # 日期对应的年份\n",
    "tm.index.month # 日期对应的月份\n",
    "tm.index.day # 日期对应的日期\n",
    "tm.index.dayofyear # 日期对应的是年份的第几天\n",
    "tm.index.dayofweek # 日期对应的是年份的星期几\n",
    "tm.index.weekofyear # 日期对应的是年份的第几星期"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\fzn\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\ipykernel_launcher.py:4: FutureWarning: tshift is deprecated and will be removed in a future version. Please use shift instead.\n",
      "  after removing the cwd from sys.path.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "2023-04-01     73\n",
       "2023-04-01     99\n",
       "2023-04-01    146\n",
       "2023-04-01    224\n",
       "2023-04-01     20\n",
       "             ... \n",
       "2023-11-01    149\n",
       "2023-11-01    227\n",
       "2023-11-01    153\n",
       "2023-11-01     98\n",
       "2023-11-01    105\n",
       "Length: 200, dtype: int32"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 移动\n",
    "tm.shift(periods=4) # 数据移动，负数为后移\n",
    "tm.shift(periods=4,freq=pd.tseries.offsets.Day()) # 日期向前移动\n",
    "tm.tshift(periods=4,freq=pd.tseries.offsets.MonthBegin()) # 月份向前移动"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2022-12-22 00:00:00     73.0\n",
       "2022-12-22 01:00:00      NaN\n",
       "2022-12-22 02:00:00      NaN\n",
       "2022-12-22 03:00:00      NaN\n",
       "2022-12-22 04:00:00      NaN\n",
       "                       ...  \n",
       "2023-07-08 20:00:00      NaN\n",
       "2023-07-08 21:00:00      NaN\n",
       "2023-07-08 22:00:00      NaN\n",
       "2023-07-08 23:00:00      NaN\n",
       "2023-07-09 00:00:00    105.0\n",
       "Freq: H, Length: 4777, dtype: float64"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 频率转变\n",
    "tm.asfreq(pd.tseries.offsets.MonthEnd()) # 按月份\n",
    "tm.asfreq(pd.tseries.offsets.Week()) # 按周取\n",
    "tm.asfreq(pd.tseries.offsets.Hour(),fill_value=0) # 按小时,fill_value默认为NaN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2022-12-25      542\n",
       "2023-01-15     3153\n",
       "2023-02-05     6361\n",
       "2023-02-26    10145\n",
       "2023-03-19    12979\n",
       "2023-04-09    16395\n",
       "2023-04-30    19556\n",
       "2023-05-21    22847\n",
       "2023-06-11    25706\n",
       "2023-07-02    28855\n",
       "2023-07-23    29988\n",
       "Freq: 3W-SUN, dtype: int32"
      ]
     },
     "execution_count": 122,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# series重采样\n",
    "tm.resample(rule='M').apply(np.sum) # 一个季度\n",
    "tm.resample(rule='3M').agg(np.sum).cumsum() # 三个季度的累加和\n",
    "tm.resample(rule='3W').sum().cumsum() # 三周的累加和"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "      <th>vol</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>平均值</th>\n",
       "      <th>求和</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2020-12-31</th>\n",
       "      <td>554.950000</td>\n",
       "      <td>10035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-01-31</th>\n",
       "      <td>561.548387</td>\n",
       "      <td>14795</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-02-28</th>\n",
       "      <td>521.107143</td>\n",
       "      <td>14297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-03-31</th>\n",
       "      <td>468.258065</td>\n",
       "      <td>14926</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-04-30</th>\n",
       "      <td>596.933333</td>\n",
       "      <td>13760</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-05-31</th>\n",
       "      <td>482.000000</td>\n",
       "      <td>14035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-06-30</th>\n",
       "      <td>455.482759</td>\n",
       "      <td>12165</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 price    vol\n",
       "                   平均值     求和\n",
       "time                         \n",
       "2020-12-31  554.950000  10035\n",
       "2021-01-31  561.548387  14795\n",
       "2021-02-28  521.107143  14297\n",
       "2021-03-31  468.258065  14926\n",
       "2021-04-30  596.933333  13760\n",
       "2021-05-31  482.000000  14035\n",
       "2021-06-30  455.482759  12165"
      ]
     },
     "execution_count": 132,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# DataFrame重采样\n",
    "ts = pd.DataFrame(data={'price':np.random.randint(0,1000,size=200),\n",
    "                       'vol':np.random.randint(0,1000,size=200),\n",
    "                       'time':pd.date_range('2020.12.12',periods=200)})\n",
    "ts.resample(rule='M',on='time').sum()\n",
    "ts.resample(rule='M',on='time').agg({'price':[('平均值',np.mean)],\n",
    "                                     'vol':[('求和',np.sum)]})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "heading_collapsed": true
   },
   "source": [
    "### 数据可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 折线图\n",
    "b1.plot() \n",
    "\n",
    "# 柱状图/条形图\n",
    "b1.plot.bar() # 柱状图(竖)，stacked为堆叠默认为false\n",
    "b1.plot.bar(stacked=True) # 柱状堆叠图\n",
    "b1.plot.barh() # 柱状图(横)，stacked默认为false\n",
    "b1.plot.barh(stacked=True) # 柱状堆叠图(横)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([<AxesSubplot:ylabel='Python'>, <AxesSubplot:ylabel='Tensorflow'>,\n",
       "       <AxesSubplot:ylabel='Keras'>], dtype=object)"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1296x1296 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1296x1296 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 饼图\n",
    "b1['Python'].plot.pie()\n",
    "b1['Python'].plot.pie(figsize=(18,18),autopct='%0.2f%%')\n",
    "b1.plot.pie(subplots=True, # 指定列属性时可不写\n",
    "            figsize=(18,18), # 饼图的大小\n",
    "            autopct='%0.2f%%') # 数据的显示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Python</th>\n",
       "      <th>Tensorflow</th>\n",
       "      <th>Keras</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>A</th>\n",
       "      <td>0</td>\n",
       "      <td>94</td>\n",
       "      <td>44</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B</th>\n",
       "      <td>122</td>\n",
       "      <td>10</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C</th>\n",
       "      <td>50</td>\n",
       "      <td>140</td>\n",
       "      <td>95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D</th>\n",
       "      <td>147</td>\n",
       "      <td>91</td>\n",
       "      <td>79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E</th>\n",
       "      <td>103</td>\n",
       "      <td>95</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F</th>\n",
       "      <td>126</td>\n",
       "      <td>124</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>G</th>\n",
       "      <td>16</td>\n",
       "      <td>100</td>\n",
       "      <td>60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H</th>\n",
       "      <td>21</td>\n",
       "      <td>8</td>\n",
       "      <td>42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>I</th>\n",
       "      <td>16</td>\n",
       "      <td>30</td>\n",
       "      <td>93</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>J</th>\n",
       "      <td>43</td>\n",
       "      <td>27</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Python  Tensorflow  Keras\n",
       "A       0          94     44\n",
       "B     122          10     68\n",
       "C      50         140     95\n",
       "D     147          91     79\n",
       "E     103          95     26\n",
       "F     126         124     22\n",
       "G      16         100     60\n",
       "H      21           8     42\n",
       "I      16          30     93\n",
       "J      43          27     59"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='Tensorflow', ylabel='Keras'>"
      ]
     },
     "execution_count": 161,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 散点图,表示两个属性间的关系\n",
    "f1 = b1.plot.scatter(x='Python',y='Keras',color='yellow',label='1')\n",
    "b1.plot.scatter(x='Tensorflow',y='Keras',color='red', # 颜色默认可不填\n",
    "                label='2', # 在同一图中有不同比较关系时需分组\n",
    "                alpha=0.8, # 透明度默认可不填\n",
    "                s=np.random.randint(2,10,size=10), # 点的大小默认可不填\n",
    "                ax=f1) # ax为添加的对象，默认不写为创建新图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 163,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD4CAYAAAAXUaZHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABT6UlEQVR4nO3dd3hUZfbA8e87JT0hBVAUVFQsiBTFLjYEu2LvDX+6q2IXZdcuLoINe11dUBRBXJVFURCl9xKaiPQSUmcyJdPvve/vj0xi1ABJpifv53nykEy592RIzty85RwhpURRFEVpXUyJDkBRFEWJPpXcFUVRWiGV3BVFUVohldwVRVFaIZXcFUVRWiFLogMAaN++vTzooIMSHYaiKEpKWbZsWZWUskNj9yVFcj/ooINYunRposNQFEVJKUKIbbu7Tw3LKIqitEIquSuKorRCKrkriqK0Qkkx5q4oSmoLhULs3LkTv9+f6FBapYyMDDp37ozVam3yc1RyVxQlYjt37iQ3N5eDDjoIIUSiw2lVpJTYbDZ27txJ165dm/w8NSyjKErE/H4/RUVFKrHHgBCCoqKiZv9VpJK7oihRoRJ77LTktVXJXYk6KSWqlLSiJJYac1eiRkrJjO0zeGHJCxy7z7E83+/5RIekJEjf56ZTVROM2vHa56Sx9PEBe3yM2Wzm6KOPRtM0jjzySMaOHUtWVlajj926dSvz58/nuuuuA2DMmDEsXbqUN998M2oxJ5q6cleioqSmhCE/DeGBmQ9Q5iljyuYpzNk5J9FhKQkSzcTe1ONlZmZSXFzMmjVrSEtL4913393tY7du3cpnn30WzRCTjkruSkRCeoh/r/43l3x9CfNK5mERFiS1QzKPzX0swdEpbVW/fv3YuHEjTz75JK+++mr97Y899hivvfYaw4YNY86cOfTu3ZvRo0cDsGvXLs4991y6devGI488Uv+c8ePHc/TRR9OjRw8effTR+ttzcnJ47LHH6NWrFyeeeCLl5eVx+/6aQiV3pcWWlS/jyilX8try19AMDRMmNKnV318dqObjXz5OYIRKW6RpGlOnTuXoo49m8ODBfPxx7c+gYRh8/vnn3HDDDYwcOZJ+/fpRXFzMAw88AEBxcTETJkxg9erVTJgwgR07drBr1y4effRRfvrpJ4qLi1myZAlff/01AB6PhxNPPJGVK1dy2mmn8cEHHyTqW26UGnNXmq3aX83oZaP5auNXWE1W0kxpBI0gOvpfHvvaste49vBrsZqbvvlCUVrC5/PRu3dvoPbK/bbbbiMtLY2ioiJWrFhBeXk5ffr0oaioqNHn9+/fn3bt2gHQvXt3tm3bhs1m44wzzqBDh9rCi9dffz2zZ89m0KBBpKWlceGFFwJw7LHHMn369Nh/k82gkrvSZFJKvtn0DS8tfQlXwIVZmNEMrX4YpjFBI8jzi5/nyZOejGOkSltUN+b+Z//3f//HmDFjKCsrY/Dgwbt9fnp6ev3nZrMZTdN2+1gAq9Vav0SxKY+PNzUsozTJJscmbv3hVp6Y9wSekAeryYou9T0m9jqTfpuE0++MQ5SK8leXXnop33//PUuWLOGcc84BIDc3F7fbvdfnHn/88cyaNYuqqip0XWf8+PGcfvrpsQ45KtSVu7JHPs3H+6ve5z9r/oMQAouwoBnNu0KRSB6e/TAfDEyuMUkldtrnpEV9KWRLpaWlceaZZ5Kfn4/ZbAagZ8+emM1mevXqxS233EJBQUGjz+3UqRMjR47kzDPPRErJBRdcwCWXXNLiWOJJJMNmk759+0rVrCP5zN45mxGLRlBSU4JZmEHS6Lh6U3118VccWnBoFCNUksW6des48sgjEx1GowzD4JhjjuGLL76gW7duiQ6nxRp7jYUQy6SUfRt7/F6HZYQQGUKIxUKIlUKItUKIZ8K3dxVCLBJCbBRCTBBCpIVvTw9/vTF8/0GRf1tKPJV7ynlw5oPcPeNuKrwVpJnS0KUeUWIHeGDmA1GKUFGa5pdffuHQQw+lf//+KZ3YW6IpwzIB4CwpZY0QwgrMFUJMBR4ERkspPxdCvAvcBrwT/rdaSnmoEOIaYBRwdYziV6JIMzQ+//Vz3ljxBn7dj1mYCRmhqB1/q2srM7fP5IwDzojaMRVlT7p3787mzZsTHUZC7PXKXdaqCX9pDX9I4CxgUvj2scCg8OeXhL8mfH9/oSoKJb01VWu47tvrGLVkFAE9gEVY0GVkV+qNeWL+E6rujKLEQZNWywghzEKIYqACmA5sAhxS1u9Y2QnsH/58f2AHQPh+J/CXhaVCiDuEEEuFEEsrKysj+iaUlnMH3fxr4b+47tvr2OjYWD8EEzSiu328jiPgYOzasXt/oKIoEWlScpdS6lLK3kBn4HjgiEhPLKV8X0rZV0rZt26DgBI/Ukq+3/I9F391MRPWT8AkTOhG7JJ6Q6+veJ2QHr3hHkVR/qpZ69yllA7gZ+AkIF8IUTdm3xkoCX9eAnQBCN/fDrBFI1glOra7tvP3H//O0NlDcQad9WvWDYy4nD9khHhu0XNxOZeitFV7nVAVQnQAQlJKhxAiExhA7STpz8AVwOfAzcA34adMDn+9IHz/T1INsiaFoB7kozUf8cGqD9CljkVYojph2hxfbfiK+/rcR2FmYULOr8TYi93AUxG942V3hKEbdnu3zWajf//+AJSVlWE2m+tLBixevJi0tJavk2+qL774gieffJJ9992Xp556ipdeeokpU6bE/Ly705TVMp2AsUIIM7VX+hOllFOEEL8AnwshngNWAB+GH/8h8IkQYiNgB66JQdxKMy0uXczwhcPZ6tqKWZgRiD8U+Yo3iWTo7KF8eM6He3+wknqimdibcLyioqL60gNPP/00OTk5PPzww9GNYTfqmtN8+OGHfPDBB5x66qnMnDkzLufek6asllklpewjpewppewhpXw2fPtmKeXxUspDpZRXSikD4dv94a8PDd/fNtchJQmbz8Y/5/yT26bdRklNSf2EaSITe53FZYtZb1+f6DCUVmrZsmWcfvrpHHvssZxzzjmUlpYCcMYZZ/Doo49y/PHHc9hhhzFnTm3fgbVr13L88cfTu3dvevbsyYYNtX8pvPLKK/To0YMePXrUlw/eunUrhx9+ODfddBM9evRg+PDhzJ07l9tuu42hQ4f+IQ673c6gQYPo2bMnJ554IqtWrQLg6KOPxuFwIKWkqKiovnrlTTfdFJUiZKq2TCtlSINJv03i4q8v5tvN39avWY/HhGlzPDTzoUSHoLRCUkruueceJk2axLJlyxg8eDCPPfZ7fwFN01i8eDGvvvoqzzzzDADvvvsu9913H8XFxSxdupTOnTuzbNky/vOf/7Bo0SIWLlzIBx98wIoVKwDYsGEDd911F2vXruWpp56ib9++fPrpp7z44ot/iOWpp56iT58+rFq1ihEjRnDTTTcBcMoppzBv3jzWrl3LwQcfXP8ms2DBAk4++eSIXwNVW6YVWm9fz/CFw1lZuRKLsGAxWZIuqdfZ5t7GjO0z6H9A/0SHorQigUCANWvWMGBAbWs+Xdfp1KlT/f2XXXYZUFuqd+vWrQCcdNJJ/Otf/2Lnzp1cdtlldOvWjblz53LppZeSnZ1d/7w5c+Zw8cUXc+CBB3LiiSfuNZa5c+fy5ZdfAnDWWWdhs9lwuVz069eP2bNnc+CBB3LnnXfy/vvvU1JSQkFBQf35IqGu3FsRb8jLy0tf5qopV7HWtharyYomtaRN7HWenPek2tikRJWUkqOOOori4mKKi4tZvXo106ZNq7+/rrxvw1K91113HZMnTyYzM5Pzzz+fn376aY/niDQBn3baacyZM4c5c+bU14yfNGkS/fr1i+i4dVRybyWklNz7072MWTsGgUAaMmErYZrLFXTx4Ro1sapET3p6OpWVlSxYsACAUCjE2rVr9/iczZs3c/DBB3PvvfdyySWXsGrVKvr168fXX3+N1+vF4/Hw1VdfNTv59uvXj08//RSAmTNn0r59e/Ly8ujSpQtVVVVs2LCBgw8+mFNPPZWXXnqJ0047rWXf9J+o5N5KTNk8hUVli+rLBkRa5Cve3i5+m4AeSHQYSrRkd0zo8UwmE5MmTeLRRx+lV69e9O7dm/nz5+/xORMnTqRHjx707t2bNWvWcNNNN3HMMcdwyy23cPzxx3PCCSfwf//3f/Tp06dZsTz99NMsW7aMnj17MmzYMMaO/X2H9gknnMBhhx0G1L4JlJSUcOqppzbr+LujSv62Aq6gi4u+ughX0NXsWuvJZNAhgxh+6vBEh6G0QDKX/G0tol7yV0l+byx/g2p/NaYU/+/8ZtM32HxqM7OiRENqZwOFtba19bVhkn3idG8kkodmqaWRihINKrmnMN3QeW7Bc1hMllaz2mRZ+TLW2dYlOgxFSXkquaewLzd8yRrbGpDErehXPKird0WJnEruKcrms/Hqsldri3/J1Fjy2FQ73DuYtnXa3h+oKMpuqeSeol5Z9gqekIfW2uTq6QVPt4qhpnJPOa8tfw1nwJnoUJQ2RpUfSEFLy5YyedPkqPc4TSbuoJv3V73P33r9LdGhtNg21zZun3Y7pZ5SFpcu5tMLPk10SHFzxoQzsPmjt/KpKKOImVfP3ONjcnJyqKmp7Qj63Xffcf/99zN9+nQOPPDAqMWRStSVe4qpa3RhNVkxZOsZZ2/Mu6veTdmNTb/af+WmqTdR5avChIlVVasorihOdFhxE83E3tzjzZgxg3vvvZepU6c2ObHrempt+msKldxTzKe/fMomx6baEgOk/rDFnmiGxjPzn0l0GM22rHwZt35/K+6gG/h9snvYnGGJDKtNmD17NrfffjtTpkzhkEMOAWDcuHH1pXz/9re/1SfynJwcHnroIXr16sWCBQt49tlnOe644+jRowd33HFH/bDg66+/Tvfu3enZsyfXXJM67SlUck8hZZ4y3l75NmZhTvk17U01ZfMUKr2p00B99s7Z3DH9jvq/OBoOm5XUlPDjth8TFVqrFwgEGDRoEF9//TVHHFHb5nndunVMmDCBefPmUVxcjNlsrq/z4vF4OOGEE1i5ciWnnnoqQ4YMYcmSJaxZswafz1ffRWnkyJGsWLGCVatW8e677ybs+2suldxTyAtLXiCoB1N+J2pzpNLGpm83f8u9P91b35mnsfmQZxak3l8iqcJqtXLyySfz4Ye/F6GbMWMGy5Yt47jjjqN3797MmDGDzZtr+weZzWYuv/zy+sf+/PPPnHDCCRx99NH89NNP9YXGevbsyfXXX8+4ceOwWFJnmrLtZIkUN7dkLtO31XZnaW1LH/dmRcUK1lStSXQYezT+1/H8Y84/MAkTurH7TleOgINxv4yLc3Rtg8lkYuLEiSxevJgRI0YAtdVSb7755vrSv+vXr+fpp58GICMjA7PZDIDf7+euu+5i0qRJrF69mttvvx2/3w/At99+y913383y5cs57rjj6ksEJzuV3FNAQA8wYtEIrCYrumx9Ez9NMXTW0L0/KAGklLy78l1GLBqBWZjRDG2vG8peW/4autE2/x9jLSsri2+//ZZPP/2UDz/8kP79+zNp0iQqKmp7sNrtdrZt2/aX59Ul8vbt21NTU8OkSZMAMAyDHTt2cOaZZzJq1CicTmf9ipxkp5J7Cvho9UfscO9A0DrXtDfFzpqdTN08NdFh/IEhDV5Y8gJvFb9Vm9il1qRJbr/u57Xlr8UhwsQpyihK2PEKCwv5/vvvee6559i4cSPPPfccAwcOpGfPngwYMKC+l2pD+fn53H777fTo0YNzzjmH4447DqhdRXPDDTdw9NFH06dPH+69917y8/Oj9W3FlCr5m+S2u7Zz6TeX1tZob6NX7XVyrDnMv3Z+Umzc0gyNp+Y/Vb/foLn/N2ZhZuG1C8mwZsQowvhSJX9jT5X8bUWklIxYNAJd6m36qr1OTaiGd1a+k+gwCOgBHpj5QIsTO4AudZ5ZqCZXldhRyT2J/bj9R+btmodA7HaCrq35YPUHBLTEbWyqCdZw5493MnPHzPquVy317eZvsfvt0QtOURrYa3IXQnQRQvwshPhFCLFWCHFf+PanhRAlQoji8Mf5DZ7zDyHERiHEeiHEObH8BlorT8jDyMUj65tcK7U0Q+PJ+U8m5Nx2v53bpt3GsrJlWEXk/y8SyaOzH41SdImXDEO8rVVLXtumXLlrwENSyu7AicDdQoju4ftGSyl7hz++Awjfdw1wFHAu8LYQwtzsyNq4d1e+S4W3IinGl5PN1C1TKfeUx/WcpTWl3Dz1Ztbb12M2maO2HHVh6UK2OrdG5ViJlJGRgc1mUwk+BqSU2Gw2MjKaNz+z1xX5UspSoDT8uVsIsQ7Yfw9PuQT4XEoZALYIITYCxwMLmhVZG7ahegMf//Jx7U5UvW3sRG2Ouo1N486Pz3rxzc7N3DHtDmw+W/N3B0tJF01jh9W624c8POthJl08KQqRJk7nzp3ZuXMnlZWps5s4lWRkZNC5c+dmPadZ262EEAcBfYBFwCnAECHETcBSaq/uq6lN/AsbPG0njbwZCCHuAO4AOOCAA5oVdGsmpeS5hc9hEiakoa6Cdmdl5UpWVa6iZ4eeMT3PWtta/j7973hCnua3MpSSYfZqrnfVMGSf9szKymr0Yeur17O8fDnH7HNMlKKOP6vVSteuXRMdhtJAkydUhRA5wJfA/VJKF/AOcAjQm9or+5ebc2Ip5ftSyr5Syr4dOnRozlNbtcmbJrO8YjlI0GnbSx/3JtYbm5aULWHw94PxhDwAzU7sj4YTuwZc49rzxhdVVEyJtiYldyGEldrE/qmU8r8AUspyKaUupTSAD6gdegEoAbo0eHrn8G3KXjgDTl5e+jIWk0VNojbBLs8upmyaEpNj/7z9Z/4+/e+19WEkzaubLyWP2B3c4KphfG4OZRYzJ/n8dNzDtvVSTyk/bPkhCpErSq2mrJYRwIfAOinlKw1u79TgYZcCdcU/JgPXCCHShRBdgW7A4uiF3Hq9vvx1HAFHmyoMFqnnFj0X9Um8yZsmc//M+5FIDMNo3uRpOLHf6HIzPjeHQ4NBOms6ZmBQjXePT3124bNqQlKJmqZkkVOAG4Gz/rTs8QUhxGohxCrgTOABACnlWmAi8AvwPXC3lG18a2UTrKlawxe/fdH8cd02zhPy8Gbxm1E73rhfxvHY3MfqC4A1a2hMSoaGE/vnuTkcEgxyXKD2/9IrBIPcNYg9JG9X0KWKiilRo8oPJAHd0Lnuu+vYUL0B3dD3WnhK+SOzMLPg2gVkWjNbfAwpJW8Vv8V7q95r2a5TKXnY7uDmcGLvGgxyQuCvb9K37tuRpZm7X9KWbk5n0XWLMJvU6mFl71T5gST3xW9f8IvtFwCV2FtAlzpPzH+ixc83pMGIRSMiSuwPVtcm9gm5ORy0m8QeBK50e/Z4qIAeYPSy0c07v6I0QiX3BKvyVfHa8tewCEuraXbd1+enazC+38sPW3+gtOav1f72JmSE+Mecf/D5+s9bnNgfqHZwq9PNxNwcDgwGObGRxA4ggLO8XnL1Pb+Bj1s3Dl/I17w4FOVPVHJPsFeWvoJX82ISreO/4nqni/+UVTBhVxkXueNb97q5HZt8mo/7f76f77Z817I6MeHEPtjpZlJONl32kNgBrECGlJzn2fPVuy51nl7wdPNiUZQ/aR0ZJUUtKVvC/zb/D4FI/UlUKbmr2sEwu4OZmZlst1oYUWXniSo7aXHajLW6ajXFFcVNeqwr6OLv0//O7J2zsYgWLD2VkvurnfWJfT9N46Q9JPY6XiG4vAlvelO3TKXKV9W8mBSlAZXcEySkh/jXwn+1iu5KQkr+Ya/mToeLb7KzCSE5PBhis8XCVe4aPi4tZ79QfNbtN2VjU5WvisHfD6a4srhlBcCk5L5qJ7c5XXwZTuwn+5tWqTJTSroHQxwW3PMbgUTy6KzWU1RMiT+V3BPkk3WfsMm5KeXrtFuk5PlKG9e5avgkL5eOWogBvtqWZQdrGuVmEweGQkzcVcap3tiPI5d5y5i8cfJu7y+pKeHmqTez0bERs2hBATApubfayf85Xfw3J5t9m5HYoXbcXQeu2MvEKsDi8sVscmxqXnyKEqaSewKU1pTyTvE7zS9ClWQyDINXyyu5wOPlrfw8evn9fxma2Ec3MEtJjcnEW+WV3FXtwBTj5bf/WvSvRjcDbXJs4sbvbmSXZ1dtYm/uBLaU3FPt5Hani69ysumoaZzSjMReJyTgvBoP1ia8DsnaO1ZJfiq5J8CoJaMIGaGU3omaqxu8W1ZJP5+fFwvyOcfjo+duVshkAvtpGlusFu50uHi7vJJ8PXZDUV7Ny+vLX//DbasrV3Pz1JvrdwA3+01VSoY4nNzhdPF1TjYdNI1TW5DYATIk5BsGZ3n2vGMVYINjA0vL2u4eEKXlUje7pKjZO2czY/sMgKjVBI+3Il3nw7JyegYCPFdUwLVuN4eG9vy9COCQkMZOi5m+Pj8TS8o4uoXJsSn+s/Y/eEO1yXPBrgXcNu02vJq3ZZPXUnK3w8nfHLWJvSiCxF7HJ8Re17zX+cecf0R0LqVtUsk9jvyanxGLRqT0JOp+IY2xu8o5KKTxbPsi7nI46aw1/XvprOkEhMACjC0t52qXG2IwTKNLncfnPc6P237k7hl3oxkaUsoWDYPd5XDy93BiL9Q0+kXhTSlNSo7z++nUhInmMm8Z323+LuJzKm2LSu5x9O/V/6akpiRlJ1EPDob4uLScAsPguaIihtrttN/LhpzG5ElJoa6zw2rlcVs1z1fayDSivzN3+rbpPDSzdu27YRgtqrR5Z7WjfhVQgaZxWpT+2jBT+9fMZTVNu3p/bmH0C6QprZtK7nGyzbWNj9Z8lLKTqD0CAcaWlmMGXiws4HGbjbwI1q+bgYNDIbZYLJzv8fLZrnIOisGuVgMDzdBaVBv/79VO7nK4mJydRb6ucXqUh5F8QnCJu6ZJE8zukJsxa8dE9fxK66aSexxIKRmxaARSypS8aj/B5+fD0go8JsHb+e14sspGZpSuIrtqGnaTiQ66zvhdZZzdhEnG5pI0P9a/VTu52+FkSnYWeboR9cQOkCUlnXSdE/z+Jj3+zRVvoumqzr/SNCq5x8G0bdOYv2s+QMo14ejv8fJ2WQW7LBY+y8vjcZud3XcDbZn2hkGGYWA3mxldUcVDtmosCRyCuKPayZBwYs82DM5oYvJtiSBwhatpQzNBI8hLy16KWSxK66KSe4x5Qh5GLR6F1dSCnZAJNshdw8sVVfyansa07GwetlfH7AcmHThA09hktXCLy82/SyvosIfORbFyu8PJPQ4n32ZnkWUYnOmLXWKH2nH3M7xe2jVxaej4X8fXt/1TlD1RyT3G3i5+m0pfZcoVBrvZ6WJ4lZ3FGRmsSk/nLocjLgNKh4Q0dpnNdA8GmbirjL4xTq4N/Z/Dyb3VtYk90zA4Kw7ntgJpwEV76dJUx5AGT857MqYxKa1DamWcFLPevp5x68ZhFmYCeuzWdEeVlNxrd/Cw3cH0rEzKzSZucLnjGsJ+uo6OREPwQVkFtzhcMVku2dBtDif3VTv5LjuLjDgl9jpeIbjMXdPk73H6tulUeitjHJWS6lRyjxFDGjy38LnaK/YUWcFmkpInbNXcHq6bYpaSQTGY4GyKHAn76DrbrVYeqnbwakUVOTFYLgm1if3+cGK3Ggb945jYobaYWLdQiO57KSZWRyJ5ZPYjMY5KSXUqucfINxu/obiyGKBFy/DizSIloyptXOWu4T95uXQOheJ69doYQe1yye0WM6d7fUwoKdtrNcXmGuxwcX+1k++zsrAYRn3Rs3gSgMbeuzQ1tLR8KRurN8YsJiX1qeQeAw6/g5eXvVxbJ9xI/knUTMPgjfJKzvV4eSO/Hcf7AxzfhNrk8XKApuM2mcgxDD7dVR61JiC3OFw8UO3g+6wszNJgYALfzHTg3BoPGc346+Th2Q/HLiAl5ankHgOvrXgNV8CVEpOoebrB+2UVnOTzM6qwgAs8Ho6K8tVxNBQYBrmGQZnFHJUmIDc7XTxU7eCHrCxMMjFX7A2lAzlScran6WWRNzk2sXDXwtgFpaS05M8+KWZl5Uq+/O1LTKIFlQfjrL2mM6a0nO6BIMOLCrnJ6eLgODXVaAkrcFBIi7gJyE1OFw/bHUzLykQk+Iq9odpiYs37q+SxeY/FKBol1ankHkW6ofPcwuewmCwYMjaTf9HSORTik9Iy9tdqC4DdU+2gUwzL8EZTJE1AbnK6GBpeCSQhaRI7QLqUHBMI0GUvFTYbqvBWMGXTlBhGpaQqldyjaML6Cfxq/xWBaNGW93jpFgzycWk5OYZkRPtChtnsFMVoJUqstKQJyI0NErsOnBOHzlDNYQIM4PJmTKzC7puTKG3bXpO7EKKLEOJnIcQvQoi1Qoj7wrcXCiGmCyE2hP8tCN8uhBCvCyE2CiFWCSGOifU3kQyqfFW8vuJ1LMKS1MMxvfwBxpSWIxG8UljA41V2clI0MTSnCcgNTheP2B38mJWJBpybZIm9TkDARTUezM34P6kJ1fDhmg9jGJWSippy5a4BD0kpuwMnAncLIboDw4AZUspuwIzw1wDnAd3CH3cA70Q96iT00tKX8Gk+hEjewmAne328X1aBw2TmvYJ8nqiykZGiib1OU5qAXO908ajdwYysTILAeUma2AEyJXTUdU5u5nDRO8XvqKJiyh/sNblLKUullMvDn7uBdcD+wCXA2PDDxgKDwp9fAnwsay0E8oUQnaIdeDJZWLqQbzd/i0A0vy9nnJxT4+HN8kp2WC18kZfHY1W2qBcAS6TdNQG5zulmWDix+xGcn8SJvU4Amj2xGjSCjFoyKjYBKSmpWWPuQoiDgD7AImAfKWVp+K4yYJ/w5/sDOxo8bWf4tj8f6w4hxFIhxNLKytTdSl1SU8LQWUOTurvSFa4aXqi0sSY9jZmZWTxot7fKyZa6JiA7w01AxpZW8A97NT9lZeJDcIE3Mbttm8sM9PP6KGrmBPfE3ybiDsa3VISSvJr8Oy6EyAG+BO6XUroa3idrZ3Oa9fe9lPJ9KWVfKWXfDh06NOepSaMmWMOQGUOoCUVnU03UScltDidP2ezMz8xgXVoaf3M6U7CifNOZga7hJiC9AwF+ysrEg+DCFEnsAJbwx8VN7NJUx5AGT8x7IiYxKamnScldCGGlNrF/KqX8b/jm8rrhlvC/FeHbS4AuDZ7eOXxbq6IbOo/OeZRNjk2YMCXfcIyUPFjtqN9a7xAmrovSzs5U0FXTqDCbyNR1LkqhxF7HKwSXuppeTKzOjO0zKPOUxSgqJZU0ZbWMAD4E1kkpX2lw12Tg5vDnNwPfNLj9pvCqmRMBZ4Phm1bj1eWvMnvn7KRsm2eWkmeq7NzqdDMxN4csQ0+pK9do2Vc3OCmJyig0R6aUdNU0erUg/kdmqaJiStOu3E8BbgTOEkIUhz/OB0YCA4QQG4Czw18DfAdsBjYCHwB3RT/sxPpqw1eMWTsGszAnXQOONEPyUkUVl9V4+LBdLocEglFr6qzEjwBCwFUt+GtrReUK1tvXRz0mJbWIZNj80LdvX7l06dJEh9EkS8uWcvv020EmX8u8LMPgtfJKTvQHeLWgHed4vBwZg6bTSnwEAU0Izjxgf7ym5k2Bd23XlcmDJscmMCVpCCGWSSn7NnZfa1w0ETM73Du4f+b9tTtQk+BNsaF0w+Dtskr6+gOMKCzgUrdHJfYUl0ZtE+1zW1BTf4tzC/NK5kU/KCVlqOTeRDXBGu6ZcU99/8pkqtFukpLnK230CQQYUVTAYKeLAxPQf1SJvvouTS2gVs60bSq5N4Fu6AydPZQtzi3JtzJGSobZqhng9fF6QTtudbrZN0UKgCl7lyElvQJBurbgr7BKXyVfb/w6+kEpKUEl9yZ4ednLzC2Zm5RlfG9zurjWXcMnebkM8Pjooq7YWxUTtY08rmjmmvc6IxePTLohRCU+VHLfiy9/+5JPfvkkKVfGXOSu4f5qJ1OzsugaDCZlkw0lciHgAncNlhYkaU/Iw/ur3o9+UErSU8l9D5aULWH4wuFYhCXpSguc7PXxTJWdxRnpBAWcqpY7tloZQJFhcFoL6+K8t+o9QnoSDSUqcaGS+27scO3ggZ8fwCRMSVebvXsgyOiKKrZYraxOz+CSFqymUFKLXzS/mFidkBFi5OKRe3+g0qqo5N4Id9DN3T/djUfzIBBJddXeOaTxdlkFDpOJr3NzGex0JjokJQ6sEk7y+enYwjmVSb9NUkXF2hiV3P9EMzSGzhrKNuc2TCTXBGqBrvNuWQVm4L2CfB6y21t1ETDld+bwx6Calv2VZmDw2FzVb7UtUcn9T15e+jLzds1LupUxmYbBm+WV7KPrvFhYyD9sdsyJDkqJK68QDHLXIFq4+uXnHT9T7imPclRKslLJvYGJ6ycybt24pFsZY5aSFyuqOCoQ5PmiAh6x21O+g5LSfFlS0kXTODaCyfN/zv1nFCNSkplK7mGLShcxYtGI5FsZIyVPVNk53efnlYJ8/l7tpF2KNbNWoicIXNnCNe8Ai8sWU+Gp2PsDlZSnkjuwzbWNB2c+WLsyJsmuiO9yOLm8xsO/2+VycY2HTmr3aZt3lsdLTgRv8I/PezyK0SjJqs0nd1fQxZAZQ/Bq3tqVMUlUM+YKVw13Olx8k51NT3+Aw0NqrXJbl0ZtSYLzI7h6X1C6gEpv6ra2VJqmTSd3zdB4eObDbHdvT7oJ1DM8Xh632ZmbmUGaNDg+RZtOKNHnFYLLI+yq9eT8J6MUjZKs2nRyf2HJCywoXVC75FFPnuTZyx/ghUobv6alscVq5bwW7kxUWqdMKekeDHFYBOUm5pbMpdpfHcWolGTTZpP7hF8nMP7X8Um3MuagYIg3yiupNJuZlpPNjS618UT5I0G4mJi75UMzAE/OU1fvrVmbTO4Ldi1gxOLkWxnTXtN5p7wCAxjTrh332dWVldK4kBCcV+PBGsECgFk7Z+EMqB3OrVWbS+5bnVt5aNZDmIUZQybPksJsw+Dt8goKdYNXCgsYZrO1vf8cpckypCTfMDgrgrpCEslT85+KYlRKMmlT+cMZcDLkpyH4NB8CgUFyJHeLlIwur+LQYIjniwoZZrOTluiglKTnE4IrIxya+Wn7T7gCrihFpCSTNpPcQ0aIh2Y9xA73jqRaGSOkZHiljZP8fl4sLOCeage5SbbWXklOaVJynN9Pp1DL54wkkmcXPhvFqJRk0WaS+6jFo1hUuijpVsbcX+3gQo+Xt/PzuMbtpqPapKQ0kZnaydXLIljzDjBt6zQ8wciOoSSfNpHcx/86ngnrJyTdypjrnG4GO918kZPDSV4fB0dwBaa0TT4huCSCYmJQe/U+fOHwKEalJINWn9zn75rPyMUjk25lzECPl0ft1fyUmUmhrtGnBQ2QFSVLSjrpOif6/REdZ+qWqXhDqulLa7LX5C6E+EgIUSGEWNPgtqeFECVCiOLwx/kN7vuHEGKjEGK9EOKcWAXeFJudm3loZvKtjOnr8/N8RRWr0tOotJjp74vsF1Np24LAla7IhlUMDEYsGhGdgJSk0JQr9zHAuY3cPlpK2Tv88R2AEKI7cA1wVPg5bwshElJ23Blwcs+MewjoAYRMnpUxhwaDvFZRyU6rhfmZWVwd4TZyRRHA6V4v7SKcr/nf5v/h09Ru6NZir8ldSjkbsDfxeJcAn0spA1LKLcBG4PgI4muRkBHiwZkPsrNmJwJBUCbHBOo+msa7ZZX4hYnxee240+FIdEhKK2CltqDYRS3s0lTHkAYjF6leq61FJGPuQ4QQq8LDNgXh2/YHdjR4zM7wbX8hhLhDCLFUCLG0sjJ6FeqklDy/6HkWly3GjDlpljzm6QbvlFWSbRi8XpDPIzabapGnRI1XCC5z10CEy2i/2fQNAa3lzUCU5NHS5P4OcAjQGygFXm7uAaSU70sp+0op+3bo0KGFYfzVZ79+xhe/fYFZmAnJ5JikTDMkr1VUclAoxMiiQv5ps2NNdFAxokvBdcF/cl/wbnxSbcWKl0wp6RYK0T2CYmIAutR5YckLUYpKSaQWJXcpZbmUUpdSGsAH/D70UgJ0afDQzuHb4mJuyVxeWPxCUq2MMUnJ85VV9PUHeL6ogAfs1WS14k1KXxmnMt/owTfGKVwVfJIKmZ/okNoEAWgQ8Y5VgC83fElIT44LI6XlWpTchRCdGnx5KVC3kmYycI0QIl0I0RXoBiyOLMSm2ezYzMOzHsZsMidNYkdKHrFXM9Dr47WCdtzidFPUilvkBaSF0aErOEps4XRTMRvl/lwcHM4vxgGJDq1N0IFzazxkRPgzpkudl5a+FJ2glIRpylLI8cAC4HAhxE4hxG3AC0KI1UKIVcCZwAMAUsq1wETgF+B74G4pY59pHX4HQ34aUr/zVJIcV8a3Ot1c76rh09wc+nt8HKC17k1K4/SzKaED11pmMsvohcAgKK1cEXyKn/TeiQ6v1UsHcqTkbE/kK14mrp+ort5TnEiGnqF9+/aVS5cubdFzQ3qIO6bfwfKK5VhMlqQpLXBhjYfnK238kJVFlqHTL4KO9anALTM5PTCaw0w7CMg0VshuAJjQ2U/Y2SWLeMLyCbeYf0ComeSY8QnBurQ0bt5vn4iPdVP3mxh63NAoRKXEihBimZSyb2P3pfQOVSkl/1r0L5aWL61dGZMkif0kn49nK20syUjHK0SrT+wAH2jnYyeP881L6hM7gIGZnbI9XUQFz2g386R2C5pM6R+7pJYuJccEAnSJQr/d8b+ORzeSZIgzyt5Z+Q4PznyQD1Z9wNySuVT5qhIdUtRZEh1AJCZvmsyXG75MqpUxRwSCjC6vYovVSnFGBrc7Wn8zhEqZx7/1CzjXtJix2oBGHiHYJvflAMr4RB/INrkPb1pfJ0+oDTPRZgIM4HK3h1cL8yM6VsgI8fry13mg7wPRCC1pTN40mbeL3wZg+rbp9bfnp+dzVNFR9GjfgyMLj+TIoiPplN0JkaJ/aqb0sIw35GXwD4NZa1sbg6iab/+QxrjSMkIIPm6XxyP26jaxlv3p0E18og/gn9bxDA/dsMfH7ouNKvLpKkr5yPoCXUyt74op0XxC4DaZGNhlP/QIE5PVZGXJ9UswmxKy0TzqNlZv5Npvr0WTGprx+xyYWZgRiL8UFsyyZHFE4RH07NCTIwqP4MiiIzkw98CkeT32NCyT0lfuWdYsuhV0S4rknq/XtsizSni9sICnqqraRGLfbnTkU/1sLjfN5t+h8/b6+DKKaIebXbKIQcHhfJD2MseYNsYh0rYjU0oydZ2TfX7mZGVGdKyQEeLtlW9zT597ohRd4nhDXh6c9WDtaro/XdM2tsLOJGrLg6+oWMHyiuX1t6eZ0ji04FB6tu9J96LuHFF4BIfmH4rVnFy7V1I6uSeLDMPgzfJKOmk6w4sKecJmIzne12PvFe0KTBgcYKqk1Chq0nOc5JJOADMG1wSf4GXrO1xkXhjjSNuWAHCluybi5A4wZs0Y7u51NyZT6s6VSCl5esHTbHVuxWqyNmkY15DGX2pSCQQSyTrbOn6x/VJ/u1mYOSjvIHp26MmRRUdyZOGRHFZwGFnWrKh/L02lknuEuoRCvFhh44hgkGeLChlqryYjCYa64uEX4wC+MU7mNvNU/q3t/aq9oQDpVGCli6jkntC9bJX7MsT8tVpJEyVmoJ/XR5GuYzNHdqkRNIK8t+o97ux9Z3SCS4CJ6ycydctULMISUUkSiSRk/PWNwSRMbHFtYZNzE19t/AqofSPYL2e/+iv8I4uO5IjCI2iX3q7F528OldwjcEGNhyeq7ISEYHj7Qv7mcJLfijcp/dmL2tXk4sOCgYPcFhzBxA65DweKMl7WrmKL0YnnrR+QLlr3foB4qPvFvrjGw3/a5UV8vA/XfMjfev4tJa/e11atZdSSUViEJWbNehpL+GZhpsxTRklNCVO3Tq2/vUNmB45qfxRHFR1F96LuHFV0FEWZTfurtzlS738qCWQaBsMrbYystLE+LY33C/J51FbNflrrXDbWmEXGEfxs9GGweSpj9cZWyDTdNrkvXUQF/zX6cUPwn9hlS94olD/zCsGlrsiLiQEE9AAfrvkwClHFlzPg5MGZDwK1QzPxpEntL2P5FmHB7rczc8dM3ip+i7tn3M3TC56OyflVcm+mwwNBJuwq4+IaD/9ul0uVSfCIzU5mGxmKgdpcMSp0DR2ppkK2w0dGxMfcITvSETsr5SEMCj7LJqPT3p+UAjRp4lejSzTya7NlSklXTaNXIDr7P95f9X7cE2QkpJQ8Pu9xyrxlmIQJncRffDWW8DfYN8TkXCq5N5WUXONy82lpGdmG5Mn2RZzr8TKwDXZRmm4cy3J5GP9n+Y6JxplRO24FhaQTxCmzuTT4LPP17lE7dry5ZSb/1s7j9MBozg2O4lvjhLjHIIAQcFWUGsL4dT9j146NyrHiYczaMczcMRMTJgJ68m4kjNUqG5XcmyBP13m1oorHbNUsychgQm4eT1XZ6NyGhmHq6FLwonY1B4kyVupd0aI8beMmGy/pZAs/N4WGMVE7ParHj7UdRnuGh27gpMAbPKfdyL7CTieqeEO7NCFX7xI42+MlM0pzQe+sfCclrt6XlS/j1eWvxnScPdmp5L4Xffx+JpWUcVq4sqNJSu5xVP+hHvt6ozPvaBdhyNa/1OO/ej82yM7cYv6e7+SJMTlHCCulspD9RRWPaH/j+dA1Sf/aLjO6cXfwXk4PvspYfSBnmIp5wjKOEBZKKWS9PICZRq+4x5VGbRPtcz3RaX7t1byMWzcuKseKFZvPxtBZQ5Oud3K8qdUyu2GSkv9zuLjL4WSXxcKz7dtzX7Wd9vpff1ieDN3CItkdKxr/Z5nayNFaB7+0Mlq7gh5iCzP0PsiYXhv8XrLgPf1itsl9GW19m0yRHPWDoHY8/QfjOP6tnc8K2Y08PNxq/p5c4WOCdgZTjJPrH5uJn7e0QZxpXhn3OL1CcLm7hq9yc6JyvLeK3+LG7jdG5VjRphs6w+YMw+631yb3JOmdnAjqyr0RHTSN98squMfhZFpWFtOzs3mmqqrRxL7O6MIi2Z0C3IzSrmWNcWACIo6PcfrZ7KI9V1tmMkf2jMs5t7Mv+1PJD0bfpGn+0XA8/e7QfVSRx1DL51xkms94/Sxe1S6nlD8ubQtgZak8nGVGt90cNXYypKRXIEjXYHTqL3lCHsavGx+VY0Xbe6veY2HpwtreyUnSYjNRVHL/k1O9PiaVlNEzEOT5wgI6aSEGO527faE+1geSTpALzQtJJ8g9oXvxyvS4xhwPLpnJW9ogTjat4UutH8SxuEIJHSjEnfDmH38eT+8kbDxh+YQj2c7L2lV8agzAu5uVQwZm0gnypjYovkFT+0uuA1fURN6lqc4bK96I2rGiZX7JfN5d+S5mYW6z4+wNqeQeZpGSh2zVvFNeic1sZlRRIXc7HPTew9WOU2bztX4KF5kWMEU/AS/pbJX78KyWnH+yRuID7UKqyeVc81KK5aFxP7+NdggMQtIS9+Yfy4xu3BW87y/j6UGsDNduZJo8DqMJv0o6Jn42+rDe6ByHqP8oBFzgriHNiM5kqDvkZtL6SVE5VjSUecp4dM6jWEyWNj3O3pBK7kDnUIhPdpVzi8vNxNwcitPTeKrKRt5efhG+0E/HRwaHmXZRTR4GZnLw8bl+FlP14+IUfezVlvQ9j/NMi3ZT0jc+vGRSTQ6Foob/Cz3MR9q5MVuBokkT3+oncGngGS4PPsNcoweDzVO5x/INy4zDGa7dwCp5SPOOiQUrGm/pg2IT9B5kAEWGwS1OV9SOOXr56KgdKxIhI8TQWUNxB931tV8Uldw5r8bDFyVlHKBpPFNUSG9/gCtrPHsddNCl4GN9AMeK9UzWf1/D7CabfNwMC93OLlkY2+Dj5A3tMoJYOda8gU1y/4TG0rD5x7PaTVFv/uGSmfxbO7/R8fTP9P6MbmQ8vTkEBt/qJ7DD6BC1mJvKJQS3O110CkVnyMIVdPH1xq+jcqxIvLbsNYorizFhavPj7A212eSeaRg8U2njhUobm9KsvJ2fz1B7NYc1sYPNTKM32+U+nGteyhp58B/uc5CLnzTuDw1BT/IlfHuz3ejIZ/pZXNHEkr7x8cfmH4NDQ3HJyKof7jA68GzoBk4OvMFz2g10EjaetHzCEU0YT2+OIGlI4D39ooiP1Vx5UmKSkkftjqgd8+WlL0ftWC0xY/sMxv4yNqka9iSLNpncuwWDjN9VxqAaDx/l5bHLbGaY3U5WM/7GH6sPpCPVrNQPbvR+gWSxcQTv6hdHK+yEeFm7Egs6nU1VlEVwxRoL29mXfbEx3+jB5cFn2GG0b/Yxfh9PH83H+kDONBXzuGUcAdJ4VruR6U0cT2+ONDS+0E+jUkZe0Ku5DCHo7/Vykjc6XbAcAQffbv42Ksdqrh3uHTw+93GsJmuj9djburaV3KXkKpeb8bvKaGdInm5fxACvh/Oa+YO+yejEbKMXV5pn8YNsfGzdTzoFuHhFu4IVRvPGZpPFWuNAvjFO4Ubz9GaX9I2XMorIxkupLGRQcDjLjb1P9mrSxBT9BAY1Mp6+1Dic57QbWC0bf9OOBj/pBLHyUQJe0wwpcQvBP23VWKI0YTFq8aioHKc5AnqAB2c+iF/zI1L8r+NYaTPJPU83eKWiiids1SxLz+DTvDyeqLLRpQUlBD7RB2AlhAGE9rAPrJo8svFzb+ge3BEOGyTCi9rVtKMGE+AkOhtgYsFJLiHM9c0//qc3vnO24Xj6kNB92MPj6RdGaTy9OTIJME4/OyE/F9lScpCmcYPTHZXjVQeq+WHrD1E5VlONWjyKX+2/1nZLkmqcvTFtIrn38gf4oqSUM7w+3shvh47kvuo/lhBoqhqZwST9NM4zLeZLfe91T9xkUiLb84R2awvOljgLjSOYafRmsHkqH+tnJzqcvapt/tGOfYWde0L38oY2qH4lTWPj6U9YPuEwdvCydhWfRWk8vTm8ZOAmm3EJeG1N1E6u3ulw0lGLzuTqyEUjo3KcppiyeQpf/PYFZmFWE6h7sNfkLoT4SAhRIYRY0+C2QiHEdCHEhvC/BeHbhRDidSHERiHEKiHEMbEMfm+ElNzmcDKmtBxDCJ5tX8Q1bjf9/C2vEPdfvR81ZHG0aSsVFOz18RIT2fj4Wj+Vr/VTWnzeeJISRoauZR/slMrCqJT0jQ8T2xs0/7g3NGS34+nDtRv5UfaN+nh6c2Tj40PtPPwy/r0386TEKiUPR2lytcpfxYxtM6JyrD3Z7NjMswuexWKyqHH2vWjKT/YY4Nw/3TYMmCGl7AbMCH8NcB7QLfxxB/BOdMJsviJN572ySu6vdvJTViY/ZGfzdJWNDo2UEGgqKWsnUo8Wm5u1jt1NNgW4eCw0mO1GxxafP16mGX0plt24zfIdk4zUqsoIvzf/+J9xcv14+hDLZJbEYTy9OTxkUkU+X+r9EnJ+DTjP46VvlMpWj1g0IirH2R1vyMuDMx9EMzQ1zt4Ee03uUsrZgP1PN18C1BV2HgsManD7x7LWQiBfCBH3rgsne318WVJK70CAUYUFdNA0bnM6I25aPc/owSa5PxeZF7BcNq9GSO0mJxP3hoYQksnbPluTJl7UruJgsYti/ZCol/SNlx2yI/tTSX/Tcj7T+/OqdlnSrfaB2qv3d/WLo7pWv6kygRoheCxKk6sVvgpm7ZgVeWCNkFIyfOFwNjk3IRBq2WMTtPQnah8pZWn48zJgn/Dn+wM7GjxuZ/i2vxBC3CGEWCqEWFpZWdnCMP7IIiUP2Kt5r7yS6nAJgb87nPSJUsGkMfpACnHxq9GZltRW0REUy0N5TbssKvHEwn/1fmyUnbnZPI2pMv4NJqKphA58ZfSL+3h6c3jIYIfsyHcJaOYBtd2aDg2FuNoVncnV4QuHR+U4fzZpwySmbJ4ScYPrtiTiywVZW7m/2W/7Usr3pZR9pZR9O3SIfLde55DG2NJyBjvdTMrJZllGOk9V2WgXpSYFO4z2zDCO4QrzLL41TmrRMYKkkY+bt/RLWGgcEZW4oskvrbyqXU5PsYnp+jExLumr1BJk4eMt7ZKENPMwUzu5OqTaSZEe+Rh2ubeceSXzIg+sgV9svzBy0cg23XijJVr621teN9wS/rcifHsJ0KXB4zqHb4upc2o8TCwppWsoxDNFhRwdDHK1uyaqdQvH6QMwIckSIQKktfg4DnLJw8v9wSE4ZXYUI4zcJ/oAdtGeKy2zmSuPTnQ4bYaX9IQ184DaydUMKXkwSpOrzy54NirHgdoSBw/NfEjVi2mBlib3ycDN4c9vBr5pcPtN4VUzJwLOBsM30Rf0cvEvM3ip0saWNCtvFBQw1F7N4VEahqnjk2l8rp/J2aZlfKFFPvnlJItK2jEsdHtCrtYaU1vS9xJONa3mC+004lnSVzHVN/NIlKCAi2s89IpgJVmdXZ5dLCpdFPFxpJQ8MfcJdtXsQgihrtqbqSlLIccDC4DDhRA7hRC3ASOBAUKIDcDZ4a8BvgM2AxuBD4C7YhJ1nbX/5diStXzULpcdZjP/tDWvhEBTTdZPxkkOx5t/o4RoFHwykUGAqcbxTNTPiMLxIve+diEOchloXtrsaodK5BLZzAMgS4JHCB63VWOKwu/Q0/OfjvgYH//yMT/t+Kl2o5KuxtmbqymrZa6VUnaSUlqllJ2llB9KKW1Syv5Sym5SyrOllPbwY6WU8m4p5SFSyqOllEtjGn3v66k45CwGerxcEKVaGX8mZe1E6mFiB9O1PlE7rocsCnDxtHYzm4y4Lyj6gwqZz4f6eZxvWsgY7ZyExtJWJbKZR510KTkiGOQKd03Ex9pZs5OlZS3/9S+uKGb0stFqnD0CqT1jJgT75u5H5xaUEGiqpfJw1smDuNQ8l4Wye1SPXU0eAsk9oXsJyMQtOXxDG0QIC33Mm9gs90tYHG1dIpt5QG1DZZdJcG+1k/woTK629Ord7rfz0KyHMAkTMlnGLVNQaif3OBijDSQPD9uNDsRiHDqImV/kgbykXRX1YzfFVmMfxutncaVpVhKV9G2bEtnMo06eIckxDO6rdkZ8rG3ubRRXFDfrOYY0+Mecf1Dlq0Ig0FG7UFtKJfc9KJMFfG8cz2Xm2XxjnBqTc2hYaUcNH+gXMkfvEZNz7Mkr2hVY0elkqqac1tFcJJUlsplHHb8QXOauoXsg8snVJ+c92azHv7/qfebvmq8ab0SBSu578JnWHwNBe1ET040wTnLIx80DobuwydyYnefP1hgHMtk4hRvN0/hQ+3OFCSUREtnMo062lPiF4ImqakSEwyJbXFtYXbW6SY9dWLqQt4vfVg2uo0Ql990ISAuf6f053bSSSXpsrtobcpCDkxweDv09bssjX9CuIZ8aQCR1Sd+2JpHNPOpjkJIewSCX1HgiPlZTrt4rvBU8Ols1uI4mldx34zvjBKpox6nmtWyV8VjNIrAS4mejDx/rA2N+tvl6d2YbvRhs/o6P9cQ1vVb+KpHNPOrUTa4+aHeQF0GxPYCNjo2ss63b7f2aoTF01lCcAadqcB1FKrnvxlhtIF1FKXO0o+J2Ti+ZFODiX9r1/Gp02fsTWkhKGKVdw77Y2SWL8JMes3MpLZPIZh518gxJO8NgiCPyydXH5z2+2/teX/E6yyuWq3H2KFPJvRErjYMplt24zDyH2TK+W8KrySMNjXtC98SszvcPxnGslIembEnftiCRzTwa8gnBVS43hwUiS7q/Vf/Gb/bf/nL7z9t/5j9r/qMaXMeASu6NGKsNJAsfFTI/IcWzfKSxQXbmX9r1UT92w5K+y/RDU7akb1uQyGYe9TFISTC8czXSyaA/X73vdO/ksXmPqQbXMaKS+59UyTymGCdxqWku3ySoc5KOmXbU8Ik+kB/16Daz+lI/jU1yf242T+MHeXxUj61EV6KbedSxSEmfQIALPd6IjrPOvo5Njk0ABPUgD896GF/Ih1B1jGJCJfc/+Vw/kyBWOpvtuEhc1ca65ZEPh/5GucyPyjH90spo7XJ6iY38oB+rSvqmgEQ286hjpbYs8EP2arIjLKH9+Nzaq/cXlrzAWtva2roxapw9JtRvdwOaNDFOO5uTTWv4Sjs50eHgIAcvGTwQugsjCm3FPtYHUkYRV1pmM1+V9E0JiW7mUSdPSgp1g7si3Lm6xraGj1Z/xIT1E1SD6xhTyb2BaUZfyiiiv6mY32TsVqs0ncCEznyjB//Wz4/oSE6ZxVvaJfQzrWKCdkZ0wlPiILHNPBryCsF1LjeHBCNLyKOXj1bj7HGgknsDY7Rz2F9Uskg/PNGh1POTQQFuXtSuZrXRtcXHeV+7ECc5nG1akTQNopWmSXQzjzo5UqIJwWM2R8STq2opOxwaDPJcpY1THNFpM/pnKrmHrTO6sFgeyVWmWcyQ0Z3EjFQ1uWQQZEjoHjyy+WvS60r6XmBawJg4bJBSoi3xzTzqI5GS4/x+zolwcrXNLnuUkmP8ft4sq+CrkjIGerzsX2OPyalUcg/7WD+HDAK4yUDHnOhw/sJDOttlR57Rbt77g//kNe0yNMz0Nm9mS1x22yrRluhmHnXSqJ1cHWp3kBml/sRtgZCSszxePiktZ2xpBT0DQd5vl8f43BwuJjb1pFRyBxwym6/0U7jItIAv9dMSHU6jDMzk4GOifgbf6k2fXNti7Mvn+plcZZrJB6HIxu2VxEmGZh51cqVkH13nDocr0aEkPauUDHLX8HVJKa9VVNFR13m1IJ8fszK5yeVmsMtNuxgtBVXJHfhCPx0/6XQzlVJN4oo17Y2bbPJxMyx0Oztl+yY952XtStLQ2NfkoIKCGEeoxFKim3nUEYBbCG52ujgw1EaHV/Yi2zC4xeFi6o5dDK+yE0LwQmEBq9PSuKfawZU1HjJiPEPe5pO7LgUf6wM5VqznG/3ERIezVw5yCWLhvtDd6HtZHrna6MoU4yRuMv/Av1VJ35SXDM086uRKiS4E/4zCztXWpL2mc5/dwbQdJTxU7WC71cLIwkLsJsFQezXneH1xG/Rt88l9ptGbHbIj55mXsFa2fDVKfEmWGYfv9Zf8Be1q8nFjYMalSvq2CsnQzKM+Fik52efnzBj1L04lB4ZCPFVl44cdJdzqdLEoI4MXigrJNgyG2e2cFAjGfR9um0/uY/Rz2Ac7xfohiQ6lyQKkU4Cb17TLdjvBNl/vzhyjJ7eZp/JJgotPKdGTDM086qRTOzwzzF5NehudXO0RCPBKeSWTd5ZyUY2HyTnZvFFYwBHBII/Y7HQPJm7Yqk0n901GJ+YYPbnSPIsf5HGJDqdZqsklGz/3hobg+lNZ2NqSvtfSCRs7ZAdV0reVSYZmHnVypGQ/Tec2ZxuaXJWSU70+PiwtZ/yuck7wBxibl8uYdu040+vjfns1XbTEb9Bq08n9E30AVkLoCEIpWB3RTSalspDHtNv+MOz5vXEcK+Uh3Gb5ji+N5Fz9o7RcMjTzqCOoXRo52OGic6h1t8azSMkFNR4m7SrjnfJKDgppvJHfjv9lZ3G1u4a/OZwUJdFfMG02udfIDCbpp3GeaTGT9NSsaS4xkUWA/+kn81W4gXdtSd+rOUSUsFQ/LCnX7CuRS4ZmHnXypEQAw+zViQ4lJjINg+ucbqbs3MXIShtWCS8W5rM4I42/O5xc764hKwknlSNK7kKIrUKI1UKIYiHE0vBthUKI6UKIDeF/k3L93Zf6adSQRU/TVipTeIlgDVkU4OLx0K1sMzoyST+NzXI/bjZP43tV0rfVSpZmHnUMAad7ffRrRZOr+brOXdUOpu3YxT/s1VSYzYwsLGSn2cTDdgcXenwkrtL+3kXjyv1MKWVvKWXf8NfDgBlSym7AjPDXSUVKGKsP5Gixie/01Bprb0w1eUhMDAndy6va5fQWG5mqHweqTnarlgzNPOpkyPDkqq0aaxJexTbH/iGNf9jsTNuxizsdLlampzGyqBATMMxu5zR/ICV+s2IxLHMJMDb8+VhgUAzOEZG5Rg82y/24yLyQ5TKx27mjRUewWh5MGUVcYZnDAtkj0SEpMZYszTzqZEvJAZrGLSk6uXp4IMioiiqm7NzFla4apmdn8XJhAV00jWE2O70ibDUYb5HOIkpgmhBCAu9JKd8H9pFSlobvLwP2aeyJQog7gDsADjjggAjDaJ6x+kAKcfGr0ZnWcnUbJI32ODjHtITPtdScQ1Car66Zx9XmmVhEYifzTNROrt7hcPG/nGzKLCmwSEFKjvcHGOx0cYrPT40QjM/LxWUyc6XbzcU1nkRH2GKRvvqnSilLhBAdgelCiF8b3imllOHE/xfhN4L3Afr27Ru3v+N2GB2YYRzD7eZvGaufE6/TxkUV+UwyTidAWqJDUeLEQwYemcl3xglcbF6Q6HDIk5IQ8IjdwYMdm1YiIxFMUtLf62Oww0WPYBCbycQ7+XlkGXCZ201uig8tQYTJXUpZEv63QgjxFXA8UC6E6CSlLBVCdAIqohBn1HyiD8CEJFOEWmUSbI3fk7InvzfzuMi0AJEEf4jqQjDA4+VEn5+FmRmJDqeekJLegQADPD4GeLzsq+vssFh4uTCfg4JBBjtdpKd+Tq/X4jF3IUS2ECK37nNgILAGmAzU1aW9Gfgm0iCjxSfTmKCfwQDTMiZpyTFOqSiRSpZmHnUypKRGCP5ps2NJ8BWwSUr6+vz8s8rOjzt28XFpBVe53fyalsaLhQWst1q43+7g8hpvQhK7U2bhNmKzyTCSK/d9gK9E7aWCBfhMSvm9EGIJMFEIcRuwDbgq8jCj4xv9ZJzk0Ne8ge8NtUxQaS1qm3m8qQ3iTPPKRAcDQKaUdA1pXOdy83G7+O6kNUtJX3+AAR4vZ3u8FBkGfiGYm5nB6vQM9g8FOcPn5wxf4pZtemU6Y/SBvKddxLWuZTFZUtji5C6l3Az85VJBSmkD+kcSVCxIWVtH5nCxgx+13okOR1GiKoCVZfJwlhqH0df0W6LDwQy4TIK7qp1Mzc6iMsaTqxYpOd7nZ4DHS3+vjwLDwBtO6L9kZNAlGOR0n4+zE7wOPyAtjNfP4k1tEFXkc4apmGxiE1MKTGdHxxJ5OL/KA3nUMp5R2jWJDkdRoqqumcdb2iX8J+3FRIcDQJ4h0YCH7U4e7VgU9eNbpeREn5+BHi9nen20Mww8QjArK5Pf0tI5KBjgNJ+fgUmwsUqTJv6r9+M17TJK6MDxpnXcZ/6K8dqZfJV1CvfE4JxtJrmP1c6hHTVsNTrSWpY/KkpDDZt5HG7amehwAAgC53s8TPRlsywKk6tphuRkn4+BHi9neH3kSolbCGZmZbIpPZ2DAwFO9/k5P8Ier9FiSMG3xgmM1q5gs9yPo8Um/m6Zwn9Dp/CEcSsAsWpX3yaSe5ks4HvjOG4yT2OCfmaiw1GUmGjYzON105uJDgeALKBGCB6zVXPl/vuit2A5T4ZhcEr4Cv10r49sKXGaTMzIzmKrNY1DA35O9/m4KEkSOtQOA/9k9OEl7UrWyYPoJnbyrGUM3+vH8kToFuJxgdkmkvun2tkYCApEDV6SZ2mWokRbXTOPoeYJdDFVJjocoHZytVsoxNWuGj5r17Rm0JmGwWleHwPC9WqypKTaZOL77Cy2p6VxhL92fD1bJt8mo/l6d17UrmaF7MYBopynLGOZpx/Fk9rNxHPUoNUn97oJjDNMK/mvfmqiw1GUmAqShgmd9/SLeM70UaLDAcKTq0IwpNrB9zlZ2M2NVyrNNgxO99auQT/V5ydDSmwmE9/mZFFiSaO738d5Hi9ZSbprdIVxCC9pVzPP6MG+2Pmn5VNW6V0Zrt2IkYACvK0+uX9nnEAV7TjVvJafQ30SHY6ixFxdM4/7LJPoIJKjzkuerJ1cfcDu4IkOv0+u5uq1CX2g18vJPh/pEirMZr7OyabcaqWHz8eFNV4yk/AKvc46owsva1fyo9GXQlw8bJ7AdtmRF7Sr0RKYYlt9ch+jnUNXUcpsTRXSUtoGP+kIJB9p5/GodUKiw6kXFDCoxsMP2Vm013UGeLyc5PNjBcrMZibl5GCzWOnp83FpTU3S7xbdYuzLaO1y/mecRA5+7jH/FzdZvKFfmhQ7xVt1ci82DmGlPJSHLRN4Wbsy0eEoStzUNfO4yzKZXJH4pYAAWRI8QvBOee1cQInFzOd5OTjMVnr7vFzlrknq+uh1dslCXtcu4wv9dNLQ+D/zd5iRfKifn1Rzeq06uX+sDSQbH+UyH9l2m04pbVBdkhmnn82dlv8lOJrfpUvJNznZbLdaOdbn4xpXaiR0gEqZx9vaJXyqn40ErjPPoFC4GaOdg5OcRIf3F602uVfJPKYYJ3KlaSbfqIlUpQ2qa+Zxq/l7MkQo0eEAtQnnkiSdEN0dp8zmfe0CPtLPJYiVS01zOcRUykfauVSSn+jwdqvVJvfP9TMJYmV/sx2XkZ3ocBQl7jxk4iGTL/V+XG/5KdHhpByPTGeMfi7vaRfiIpvzTQs5xryRj0LnMslI/p4JrTK5h6SZcdrZnGxaw1faKYkOR1ESJpmaeaQKv7Tymd6ft7VLqKIdZ5pWcLppNR/rZ/Nd6MREh9dkrTK5TzP6UkYRt5u+Y7h2Y6LDUZSESVQzD7+0UinzqSCfCplf+3n465C00EE46SgcdBAOOuCo/zwPb8Jq0oekmS/1frymXU4pRZxo+oX7zP9lvHYmT2s3JSaoCLTK5D5WG0hnUcki/YhEh6IoCRa9Zh5Sgovs2iQt86kMJ+7Gvnbz16FQEwZFuLCiUUU7go1MpaYTpKNw0JHq+jeAjqKaDtS9GVTTUTgpwom58SZvzWZIwf+MExmtXclWuS89xSbutkzmv9opPBG6NSrnSIRWl9zXGV1YLI/kfvMk3tAvTXQ4ipJwDZt5NFbvXZMmbORRIQuolO3CV9gF4SvudlTI8Oe0I9jI+u0MAnQQTjpQTTdRQl/xG9kmP1Z0NMy4jXT8pOGU2VRRgE3m0oVyioSLHHxkiCCZIoQFgxBmvDIdh8xmg9yf+cZRuHb7RlGX8J10FNV0pMHnwhH+2rHbyWQp4UfjGF7WruJXeQCHiR0Mt/yH7/TjeDyFk3qdVpfcx+rnkEGAGjLQaXybs6K0LbXNPEZp17LEOIJK2v1+tS0LsJHb6FLhdtTQQTjYh2qOMW0gT3jIFEHMSPzSikem45EZVJNLJflslJ1ZLg8DBDRheH9T3YX3bi7A0wnSQTg4WO4iT3jIEgEyCJIudAwEXpmGmywqZTvWGgdio12j2/xz8dQP+3QMDwEVCRff68exUh7KgaKMpy1jmKMfzRPaLbSWqrGtKrk7ZDZf66dwsWkBX+qnJTocRUkaAaz8Kg9go74fRbjoIBzsJ2x0F9vIFX7ShIaBwCeteGUGNTKTKtpRST5L5eEEZPx3XAZIY6fsyE461r4B7OZNoO4q/gi2ky/cZAs/GQTJFBoCSQArbpmBQ+awQh5KJfn4SWdfbDxmGcdK/WCe0W5qdXthWlVyn6ifgZ90DjXtYqJxRqLDUZSkYWCmC2V0FeVU0Y4yWcQv8qCEFLSKNgMTlRRQScEe3wRAkoeX/aiiSLjCf81ck9D6L7HUar4rXQo+0QfQV/zKN/pJiQ5HUZLODvZlh9w30WEkkMBFNi6y2Sz3T3QwMZf6b9thPxt92CE7cq55KWtl10SHoyiKklCtJrmP1QeyD3aK9UMSHYqiKErCtYrkvtHYjzlGT640z+IHeVyiw1EURUm4VpHcP9EHYCWEjolQ65lGUBRFabGUz4RuzcIkvR/nmxYzSS1/VBRFAWJ45S6EOFcIsV4IsVEIMSxW5/lv1f54yORo09bapVCKoihKbJK7EMIMvAWcB3QHrhVCdI/2eQxDMrbsQHqJjXynq7F2RVGUOrG6cj8e2Cil3CylDAKfA5dE+yTzNlWx2Z/DBeZFLJfdon14RVGUlBWrMff9gR0Nvt4JnNDwAUKIO4A7wl/WCCHWt+REuZnWw/+ZW5jukgtUsWrA8LnNpsxcPdFxJAv1evxOvRZ/lCyvR0nQ5xIPl29v4dMP3N0dCZtQlVK+D7wf6XGEEEult6xvFEJqFYQQSzV3lXo9wtTr8Tv1WvxRa389YjUsUwJ0afB15/BtiqIoShzEKrkvAboJIboKIdKAa4DJMTqXoiiK8icxGZaRUmpCiCHAD4AZ+EhKuTYW5yIKQzutjHo9/ki9Hr9Tr8UfterXQ0gZnVZViqIoSvJoFeUHFEVRlD9SyV1RFKUVSunkLoQYJISQQogjEh1Logkh9hVCfC6E2CSEWCaE+E4IcVii40oUIYQuhChu8BGzEhjJTgixjxDiMyHE5vDPxgIhRJvvHi+EqEl0DLGU6oXDrgXmhv99KsGxJIwQQgBfAWOllNeEb+sF7AP8lsjYEsgnpeyd6CASLfyz8TW1PxvXhW87ELg4kXEpsZeyE6pCiBxgPXAm8D8p5eEJDilhhBBnAU9LKVVZzDAhRI2UMifRcSSaEKI/8KSU8vREx5JsWvvPSCoPy1wCfC+l/A2wCSGOTXRACdQDWJboIJJM5p+GZa5OdEAJchSwPNFBKPGXysMy1wKvhT//PPy1SnBKHTUs0wghxFvAqUBQStW2rDVLyeQuhCgEzgKOFkJIajdKSSHEUJmq40yRWQtckegglKS0Fri87gsp5d1CiPbA0sSFpMRDqg7LXAF8IqU8UEp5kJSyC7AF6JfguBLlJyA9XGkTACFETyFEW309lN/9BGQIIe5scFtWooJR4idVk/u11K4OaejL8O1tTvivlUuBs8NLIdcCzwNliY0sof485j4y0QElQvhnYxBwuhBiixBiMTAWeDShgSkxl7KrZRRFUZTdS9Urd0VRFGUPVHJXFEVphVRyVxRFaYVUclcURWmFVHJXFEVphVRyVxRFaYVUclcURWmF/h8roerIZlNkewAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 面积图\n",
    "b1.plot.area()\n",
    "b1.plot.area(stacked=True) # 堆叠"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 164,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 箱式图，绿色线表示中位数\n",
    "b1.plot.box()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 169,
   "metadata": {
    "collapsed": true,
    "hidden": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[<AxesSubplot:title={'center':'A'}>,\n",
       "        <AxesSubplot:title={'center':'B'}>],\n",
       "       [<AxesSubplot:title={'center':'C'}>, <AxesSubplot:>]], dtype=object)"
      ]
     },
     "execution_count": 169,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 直方图，表示概率、分布的条形图\n",
    "f2 = pd.DataFrame({'A': np.random.randn(1000) + 1, \n",
    "                   'B': np.random.randn(1000),\n",
    "                   'C': np.random.randn(1000) - 1})\n",
    "f2.plot.hist()\n",
    "f2.plot.hist(stacked=False,alpha=0.6)\n",
    "f2.hist()\n",
    "f2.hist(stacked=False,alpha=0.6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "hidden": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
